yield()函数是当前线程请求让出自己的CPU使用,但是线程调度器可以无条件忽略这个暗示
public class YieldTest implements Runnable {
@Override
public void run() {
for (int i = 0; i < 5; i++) {
if(i%5==0){
System.out.println(Thread.currentThread()+"yield cpu...");
// 当前线程让出CPU执行权,放弃时间片,进行下一轮调度
Thread.yield();
}
}
System.out.println(Thread.currentThread()+"is over..");
}
public YieldTest() {
// 创建并启动线程
Thread thread = new Thread(this);
thread.start();
}
public static void main(String[] args) {
new YieldTest();
new YieldTest();
}
}