前言:
yield和join皆为Thread提供的基本方法,供开发者在不同场景下应用。
1. yield
- 创建线程类实现Runnable接口,代码如下:
package yield;
public class MYieldThread implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "开始执行...");
Thread.yield();
System.out.println(Thread.currentThread().getName() + "执行完毕....");
}
}
- 主测试类:
package yield;
public class TestYield {
public static void main(String[] args) {
MYieldThread yieldThread = new MYieldThread();
new Thread(yieldThread, "111").start();
new Thread(yieldThread, "222").start();
}
}
- 执行结果(说明:礼让不一定会成功,因为具体要看CPU调度,可能A线程开启礼让并释放CPU使用权,但是CPU再次调度从队列中获取A线程继续执行