一、线程让步
线程让步是指正在执行的线程,在某些情况下将CPU资源让给其他线程执行。
可通过yield()方法来实现。
该方法和sleep()方法有点相似,都可以让当前正在运行的线程暂停,区别在于yield()方法不会阻塞该线程,只是将线程转换成就绪状态,让系统调度器重新调度一次。
只有与当前线程优先级相同或者更高的线程才能获得执行的机会。
使用示例:
class YieldThread extends Thread{
public YieldThread(String name){
super(name);
}
public void run(){
for(int i = 0;i<6;i++){
System.out.println(Thread.currentThread().getName()+"----"+i);
if(i == 3){
System.out.println("线程让步");
Thread.yield();//线程让步
}
}
}
}
public class yield_优快云 {
public static void main(String[] args) {
Thread t1 = new YieldThread("线程A");
Thread t2 = new Yi
本文介绍了Java中线程让步(yield)和线程插队(join)的概念及用法。线程让步通过yield()方法使当前线程变为就绪状态,让相同或更高优先级的线程有机会执行。线程插队的join()方法则会导致调用线程等待被join线程执行完毕后再继续。此外,还提供了一个模拟VIP优先办理服务的多线程案例。
订阅专栏 解锁全文
3万+

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



