java中的线程礼让
java中的线程礼让
礼让是指线程在cpu运行时,暂停运行,退回就绪状态,重新与其他线程竞争运行机会。
以下代码展示线程礼让:
package com.cxf.multithread.yield;
public class TestForYield implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+" start");
Thread.yield();
System.out.println(Thread.currentThread().getName()+" end");
}
public static void main(String[] args) {
new Thread(new TestForYield(),"a").start();
new Thread(new TestForYield(),"b").start();
}
}
输出结果:
a start
a end
b start
b end
或者:
a start
b start
a end
b end
两次运行线程a都执行了礼让。第一次运行时,a礼让后再次争得运行机会,第二次运行时,a礼让后b获得运行机会。