线程的常用方法有哪些?

1、典型回答

线程常用方法有以下这些:

  1. start():启动线程,并调用线程的 run() 方法来执行任务。
  2. run():线程的实际工作方法 (普通方法),定义线程要执行的任务。
  3. sleep(long millis):暂停当前线程的执行,让线程进入阻塞状态,并释放 CPU 资源给其他线程使用,单位是毫秒。
  4. join():将当前线程挂起,等待其他线程执行完毕后再继续执行。
  5. interrupt():线程中断方法,而是给线程发送中断信号,可以配合 isInterrupted() 方法或Thread.interrupted() 方法来检查是否中断
  6. isInterrupted():检查当前线程是否被中断。
  7. getState():获取当前线程的状态。
  8. setPriority(int priority):设置线程的优先级,范围是 1 (最低) 至 10 (最高) 默认创建的线程优先级是5。
  9. getPriority():获取线程的优先级。
  10. setDaemon(boolean on):将线程设置为守护线程 (true) 或用户线程 (false)。
  11. yield():暗示当前线程让出一次 CPU 资源,让其他线程有机会执行。

2、全面剖析

线程常用方法有线程启动方法 stat()、线程休眠方法 sleep(long milis)、线程中断方法 interrupr()、线程优先级设置方法 setPriority(int priority)、yield() 尝试让出 CPU 资源等,但在这些方法中,需要注意以下事项:

  1. 线程优先级的设置方法设置了并不一定会有效,例如设置了线程 A 的优先级为 10,而线程 B 的优先级为5这里的线程 A 并不一定比线程 B 先执行,而是优先级高的线程大概率会优先执行,所以这一点需要注意。
  2. 调用了 yield() 方法之后,不是说当前线程一定会不执行了。而是会让出一次 CPU 执行权,让所有线程一起再次争抢 CPU 资源,而当前线程也拥有争抢的权利,所以它有可能得到 CPU 执行权,继续执行。与之相类似的方法还有 Thread.sleep(0),它的作用和 yield() 方法类似,即使休眠时间是 0,此方法也是有意义的,它会让所有线程再次争抢 CPU 的执行权。

3、知识扩展

start 方法和 run 方法有什么区别?-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/769219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

镜像中更新cuda 配置

1. 进入base 镜像对应的容器: 1.1 docker run -it --gpus all -v /home/huangxiujie:/home/huangxiujie iregistry.baidu-int.com/huangxiujie/tsai_reversing:paddlecloud-v2.3.0-gcc820-cuda11.0_cudnn8-nccl2.12.10 /bin/bash 1.2. docker 挂载本地目录 docker…

Java只有中国人在搞了吗?

还是看你将来想干啥。想干应用架构,与Java狗谈笑风生,沆瀣一气,你就好好写Java,学DDD,看Clean Architecture。你想成为炼丹玄学工程师,年入百万,就选python,专精各种paper。你不在意…

对话李喆:Martech在中国需要转化成以客户需求为驱动的模式

关于SaaS模式在中国的发展,网上出现多种声音。Marteker近期采访了一些行业专家,围绕SaaS模式以及Martech在中国的发展提出独特观点。赛诺贝斯副总裁李喆认为,SaaS可以分为场景化的SaaS、一体化的SaaS和功能化的SaaS,三者都有一定规…

【vue3学习之路(一)】

文章目录 前言一、vue3项目创建1.1环境准备1.1.1 基于 vue-cli 创建(脚手架创建)1.1.2 基于 vite 创建(推荐) 二、熟悉流程总结 前言 参考视频:https://www.bilibili.com/video/BV1Za4y1r7KE?p10&spm_id_frompag…

Switch搜不到5g wifi

Switch偶尔可以连上5GHz的SSID,但有时却又搜不到,其实只是频道在作祟。 频道是为了减少干扰 Switch仅有特定频道才能连接 刚刚提到,不论2.4GHz或是5GHz频段都有不同的频道可以选择,即便都是2.4GHz频段选择不同频道才能避免之间的…

代码随想录算法训练营第五十七天|647 回文子串 516.最长回文子序列

647. 回文子串 https://leetcode.com/problems/palindromic-substrings/ 思路: 当我们看到两个下标 i, j 上 s[i] ! s[j], 那么 s[i: j1] 一定不是回文子串。 如果s[i] s[j], 那么我们可以在检查 s[i1: j] 是不是回文串。如果暴力搜索的话是 O(n^3) 的…

【设计模式】单例模式详解

单例模式: 定义:确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。为了防止出现重复的创建。 单例模式是JAVA中最简单的设计模式之一。属于创建型设计模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个…

辅助功能IOU(交并比)_3.2

实现两个目标框的交并比候选框在多目标跟踪中的表达方式及相应转换方法 IOU(Intersection over Union),“交并比”,是计算机视觉和图像处理中常用的一个评价指标,尤其在目标检测任务中用来衡量模型预测的目标框与真实目标框的重合程度。 具体…

(附源码)基于Spring Boot + Vue的招聘平台设计与实现

前言 💗博主介绍:✌专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2024年Java精品实战案例《100套》 🍅文末获取源码联系🍅 &#x1f31…

服务消费微服务

文章目录 1.示意图2.环境搭建1.创建会员消费微服务模块2.删除不必要的两个文件3.检查父子模块的pom.xml文件1.子模块2.父模块 4.pom.xml 添加依赖(刷新)5.application.yml 配置监听端口和服务名6.com/sun/springcloud/MemberConsumerApplication.java 创…

【windows】安装 Tomcat 及配置环境变量

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

【学习】Python库addict,使用Dict 的类

from addict import Dict 这行代码导入了 Dict 类,它来自于 addict 模块。在这个上下文中,addict 是一个 Python 库,它提供了一个名为 Dict 的类,用于创建可通过属性访问的字典对象。 使用 addict 中的 Dict 类可以方便地创建字典…

【大模型】VS Code(Visual Studio Code)上安装的扩展插件用不了,设置VS Code工作区信任

文章目录 一、找到【管理工作区信任】二、页面显示处于限制模式,改为【信任】三、测试四、总结 【运行环境】win 11 相关文章: 【大模型】直接在VS Code(Visual Studio Code)上安装CodeGeeX插件的过程 【问题】之前在 VS Code上安装 CodeGeeX 插件后&…

Qt创建窗口选择的三个父类介绍 ----- QWidget、QMainWindow、QDialog

QWidget类 简介 QWidget是Qt中所有用户界面元素的基类。它提供了窗口的基本功能,并允许用户自定义窗口的外观和行为。QWidget可以包含其他QWidget子类的子窗口,从而实现复杂的用户界面。 特性 提供了窗口的基本功能,包括绘制、事件处理、…

Linux命令学习入门

文章目录 登录注销关机重启Vim编辑器快捷键文件目录类打包、解包、压缩和解压指令输出重定向>和追加>>指令时间日期类搜索查找类用户管理文件所有者所在组权限管理变更权限crond任务时间调度crond相关指令:特殊符号说明: at定时任务磁盘分区磁盘…

作用域闭包

一、闭包的概念 当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数时在当前词法作用域之外执行。 下面用一些代码来解释这个定义。 function foo(){var a 2;function bar() {console.log(a);}bar(); }foo();这段代码看起来和嵌套作用域…

记录三菱:Works2-FB块

创建一个FB块,启保停,定义输入输出引脚,注意这里的数据类型是Bit 打开主程序,将FB块拖出来 启保停:加入时间设定,时间显示倒着

nginx集群部署访问不了怎么解决

如果你的Nginx集群部署无法访问,可能有多种原因导致,以下是一些常见的解决方法: 检查网络连接:确保服务器之间的网络连接是正常的,可以通过ping命令或telnet命令检查服务器之间的网络连通性。 检查防火墙设置&#xff…

docker基础(四)之docker run(第一弹)

目录 概述语法命令选项用法速查OPTIONS说明:-a stdinSTDIN/STDOUT/STDERR指的是什么?举例将容器的标准输入、标准输出、标准错误重定向到本地文件将容器的标准流重定向到设备将容器的标准流重定向到网络 -d示例应用场景返回的容器ID作用怎么通过容器ID查…

基于C/C++的easyx实现贪吃蛇游戏

文章目录: 一:运行效果 1.演示 2.思路和功能 二:代码 文件架构 Demo 必备知识:基于C/C的easyx图形库教程 一:运行效果 1.演示 效果图◕‿◕✌✌✌ 基于C/C的easyx实现贪吃蛇游戏运行演示 参考:【C语…