响度均衡

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

Thread.yield() 让步线程,执行这一步的线程会主动告诉CPU调度器释放原本属于自己的资源,但是yield只是一个提示(hint),CPU调度器并不会担保每次都能满足yield提示。

java中yiled()方法的作用是:让当前处于运行状态的线程变为可运行状态,让出抢占资源的机会

用一个简单的比喻来形容就是:

三个人塞米赛跑,三人都快跑到90m位置的时候,2号突然站在原地等待,其他人继续跑,这样1号和3号赢的机会就大得多

2号就相当于调用了yield()的线程,线程调用了yiled()之后变为可运行状态,将抢占资源的机会让给其他相同优先级的线程。
yield() 方法(hint操作) 线程设置优先级也是(hint操作)
 
hint操作: 根据CPU的调度,hint 操作不是一定会执行的操作
yield()不能导致线程转到等待/睡眠/阻塞状态。在大多数情况下,yield()将导致线程从运行状态转到可运行状态(RUNNABLE),但有可能没有效果。
yield()只是对CPU调度器的一个提示
一个线程sleep ,另一个线程调用interrupt ,这个线程会捕获到中断信号,而yield则不会

 

posted on   响度均衡  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
 
点击右上角即可分享
微信分享提示