线程礼让 Thread.yield()
- 礼让线程,让当前正在执行的线程暂停,但不阻塞 ;
- 将线程从运行状态转为就绪状态 ;
- 让cpu重新调度,礼让不一定成功!看CPU心情。
代码示例:
/**
* @Description 测试线程礼让
* @Author hzx
* @Date 2022-03-26
*/
public class TestYield {
public static void main(String[] args) {
MyYield myYield = new MyYield();
new Thread(myYield,"a").start();
new Thread(myYield,"b").start();
}
}
class MyYield implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"线程开始执行");
Thread.yield(); //礼让
System.out.println(Thread.currentThread().getName()+"线程结束执行");
}
}
执行结果(礼让成功):
a线程开始执行
b线程开始执行
b线程结束执行
a线程结束执行
执行结果(礼让不成功):
a线程开始执行
a线程结束执行
b线程开始执行
b线程结束执行
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/13339.html