线程让步
线程让步是指正在执行的线程,在某些情况下将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_CSDN {
public static void main(String[] args) {
Thread t1 = new YieldThread("线程A");
Thread t2 = new YieldThread("线程B");
t1.start();
t2