线程礼让状态yield
yield的特点:
-
礼让线程,让当前正在执行的线程暂停
-
不是阻塞线程,而是直接从运行状态转入就绪状态
-
让出cpu的调度,避免当前线程占用cpu过久
-
-
让cpu调度器重新调度
-
该方法会释放cpu资源
-
不会释放锁资源
-
示例dome
package iostudy.threadstate;
/**
* yield线程礼让
* 礼让完成后直接进入就绪状态,不是阻塞状态!!!
* 让cpu重新调用
* @since JDK 1.8
* @date 2021/6/5
* @author Lucifer
*/
public class YieldDemoNo2 {
/*用lambda方法写线程体,在主线程里面进行礼让*/
//使用lambda表达式
public static void main(String[] args) {
new Thread(() -> {
//循环输出
for (int i = 0; i < 100; i++){
System.out.println("lambda!!!");
}
}).start();
/*在主线程中进行礼让*/
for (int i = 0; i < 100; i++){
/*有规律的进行礼让*/
if (i % 20==0){
/*线程礼让*/
Thread.yield();
}
System.out.println("main:" + i);
}
}
}