线程礼让
-
线程礼让(yield)
- 礼让线程,让当前正在执行的线程暂停,但不阻塞
- 将线程从运行状态转为就绪状态
- 让cpu重新调度,礼让不一定成功!由cpu决定
ublic class TestYield {
public static void main(String[] args) {
MyYield myYield = new MyYield();
new Thread(myYield,"线程1").start();
//进行礼让,让另一个线程跑,可能不礼让成功
new Thread(myYield,"线程2").start();
}
}
class MyYield implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"线程开始执行!");
Thread.yield();
System.out.println(Thread.currentThread().getName()+"线程停止执行!");
}
}
//礼让成功
线程1线程开始执行!
线程2线程开始执行!
线程1线程停止执行!
线程2线程停止执行!
//礼让失败
线程1线程开始执行!
线程1线程停止执行!
线程2线程开始执行!
线程2线程停止执行!