背景
多线程的线程礼让。
实现
注:
- 礼让线程,让当前正在执行的线程暂停,但不阻塞;
- 将线程从运行状态转为就绪状态;
- 礼让的本质是让CPU重新调度,因此礼让的结果仍然是随机的。并不是把CPU的时间交付给另外的线程。
代码
package com.aac;
//线程礼让
//线程礼让不一定成功
public class ThreadYield {
    public static void main(String[] args) {
        MyYield myYield = new MyYield();
        new Thread(myYield,"a").start();
        new Thread(myYield,"b").start();
    }
}
class MyYield implements Runnable{
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName() + "线程开始执行...");
        Thread.yield(); //线程礼让
        System.out.println(Thread.currentThread().getName() + "线程停止执行...");
    }
}
效果


总结
礼让是让CPU重新调度的机制,并不是把CPU的时间交付给另外的线程。因此礼让的结果仍然是随机的。