导航:首页 > 编程语言 > 线程yieldJava

线程yieldJava

发布时间:2023-03-01 01:28:49

‘壹’ java中多线程常见的几个参数

java中多线程常见的几个参数
sleep:在指定的毫秒数内让当前正在执行的线程休眠(暂停执行).
此操作受到系统计时器和调度程序精度和准确性的影响。
该线程不丢失任何监视器的所属权。
调用sleep的时候锁并没有被释放。
休眠
Java SE5引入了更加显示的sleep()作为TimeUnit类的一部分,这个方法允许你指定sleep()延迟的时间单元,因此可以提供更好的可阅读性。

wait:调用wait使线程挂起,直到线程得到了notify或notifyAll消息,线程才会进入就绪状态。
使你可以等待某个条件发生变化,而改变这个条件超出了当前方法的控制能力。
线程的执行被挂起,对象上的锁被释放。意味着另一个任务可以获得这个锁。
因此在该对象中的其他synchronized方法可以在wait期间被调用。

yield:相当于:我的工作已经做的差不多了,可以让给别的线程使用CPU了。
当调用yield时,你也是在建议具有相同优先级的其他线程可以运行。
对于任何重要的控制或在调整应用时,都不能依赖于yield。
yield并不意味着退出和暂停,只是,告诉线程调度如果有人需要,可以先拿去,我过会再执行,没人需要,我继续执行
调用yield的时候锁并没有被释放。

interrupt:中断线程。
Thread类包含interrupt()方法,因此你可以中止被阻塞的任务。
这个方法将设置线程的中断状态。
如果一个线程已经被阻塞,或者试图执行一个阻塞操作,那么设置这个线程的中断状态将抛出InterruptedException。
当抛出该异常或者该任何调用Thread.interrupted()时,中断状态将复位。
你在Executor上调用shutdownNow(),那么它将发送一个interrupt()调用给他启动的所有线程。

‘贰’ java中Thread中yield()这个方法

楼主你错误的理解了yiedld这个方法。
yiedld这个方法是让当前线程回到可执行状态,以便让具有相同优先级的线程进入执行状态,但不是绝对的。因为虚拟机可能会让该线程重新进入执行状态。
让线程暂时停止可以选择sleep方法。比如thread.sleep(1000),当前线程睡眠1秒。需要知道的是,1秒后,线程是回到可执行状态,并不是执行状态,什么时候执行那是由虚拟机来决定的。所以sleep(1000)并不是在睡眠1秒后立即执行。

阅读全文

与线程yieldJava相关的资料

热点内容
游戏程序员负责角色 浏览:311
于丹pdf 浏览:713
反编译ref 浏览:546
鸿蒙智能文件夹怎么弄 浏览:544
grunt压缩html 浏览:787
macpdfword转换器 浏览:904
压缩面膜是什么材质 浏览:353
抖音发布作品怎么建文件夹 浏览:13
安卓如何更改谷歌地区 浏览:273
airpods为什么安卓连上声音很大 浏览:510
联想服务器按钮怎么开不了机 浏览:93
苹果xrapp程序库没有了怎么办 浏览:843
在上海程序员一个月多少工资 浏览:326
k歌解压图片 浏览:579
cad中清理多余图层的命令 浏览:989
华为nova8xe是安卓什么 浏览:58
汤姆猫服务器为什么免费 浏览:274
safenet加密狗怎么用 浏览:41
phpsql查询变量 浏览:104
地磅仪表盘加密方法 浏览:480