【多線程】線程禮讓 Thread.yield()
線程禮讓 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線程結束執行

浙公網安備 33010602011771號