线程中yield(让步):让当前线程暂停执行(重新排队,进入就绪状态)进入等待,把资源让给其他同级别线程,让后面线程先执行;
由CPU重新调度,让步不一定成功,需看CPU心情;
实例:
//线程让步
public class ThreadYield implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"开始执行!");
Thread.yield();
System.out.println(Thread.currentThread().getName()+"停止执行!");
}
public static void main(String[] args) {
ThreadYield threadYield = new ThreadYield();
new Thread(threadYield,"线程1").start();
new Thread(threadYield,"线程2").start();
}
}
当线程不进行让步时,输出结果:
让步之后: