大家好,分享一下线程礼让
线程礼让,就是让当前的正在执行的线程暂时停止,但不会阻塞
将线程从运行状态转为就绪状态
让cpu 重新调度,礼让是不一定成功的,要看cpu的状态
写源码:
package Demo04;
public class TestYield {
//测试线程礼让
//礼让不一定成功,看cpu的状态
public static void main(String[] args) { //这是主线程
MyYield myYield =new MyYield(); //创建对象
new Thread(myYield,"a").start(); //启动线程
new Thread(myYield,"b").start();
}
}
class MyYield implements Runnable{ // 使用Runnable创建多线程
@Override
public void run() { //重写
System.out.println(Thread.currentThread().getName()+"线程开始执行");
Thread.yield(); //礼让
System.out.println(Thread.currentThread().getName()+"线程停止执行");
}
}
显示结果:
看结果:(礼让不成功)
a线程结束之后,b就开始执行
这是礼让成功的情况(就是说,礼让不一定成功)
好了,Java的多线程礼让就到这里了,谢谢大家