Thread.yield( )方法:
使當前線程從執行狀態(運行狀態)變為可執行態(就緒狀態)。cpu會從眾多的可執行態里選擇,也就是說,當前也就是剛剛的那個線程還是有可能會被再次執行到的,並不是說一定會執行其他線程而該線程在下一次中不會執行到了。
用了yield方法后,該線程就會把CPU時間讓掉,讓其他或者自己的線程執行(也就是誰先搶到誰執行)
例子:
package com.ming.thread.yield; public class YieldThread extends Thread { public YieldThread(String name) { super(name); } public void run() { for (int i = 1; i <= 50; i++) { System.out.println("" + this.getName() + "-----" + i); // 當i為30時,該線程就會把CPU時間讓掉,讓其他或者自己的線程執行(也就是誰先搶到誰執行) if (i == 30) { Thread.yield(); } } } }
package com.ming.thread.yield; public class Run { public static void main(String[] args) { YieldThread ta=new YieldThread("hello1"); YieldThread tb=new YieldThread("hello2"); ta.start(); tb.start(); } }