`礼让线程`,顾名思义就是我让让你,在程序中,正在执行的线程,可以礼让其他线程,例:A线程正在执行,B线程说我要执行,可以运行`Thread.yield();`礼让线程,
但是B不一定,一定执行,分开读,执行过礼让线程之后,只是A线程退出执行程序,A,B线程全部等待CPU来调度执行,这时候还是看cpu,如果cpu调度了B,说明成功,如果cpu调度了A,那么,不好意,B还得等A 执行结束以后再去执行
下面看代码体现:
Thread.currentThread().getName():表示获取现在正在执行线程的名字
public class TsxtYield {
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()+"线程停止执行");
}
}

本文详细解析了Java中的线程礼让机制,通过示例代码解释了如何使用Thread.yield()方法使当前线程放弃CPU时间片,让其他线程有机会执行。但要注意,礼让并不保证线程立即执行,而是依赖于CPU的调度。
309

被折叠的 条评论
为什么被折叠?



