【Java并發】1.9 yeild方法
yeild方法的作用是放棄當前cpu的資源,將它讓給其他任務去占用CPU執行時間。但放棄時間不確定,可能剛剛放棄,馬上又獲得CPU時間片。
public class MyThread extends Thread {
@Override
public void run() {
long beginTime = System.currentTimeMillis();
int count = 0;
for (int j = 0; j < 5000000; j++) {
//Thread.yield();
count = count + (j+1);
}
long endTime = System.currentTimeMillis();
System.out.println("用時:"+(endTime-beginTime)+"ms");
}
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
用時5ms
上面程序運行耗時5ms,如果把Thread.yield()注釋取消,程序運行:
用時:462ms