概述
Java中Thread.yield方法,译为让步,使用了这个方法之后,他会把自己的CPU时间让出来,让自己或者其他的线程去运行
注意这里是自己或者其他的线程,不一定是其他的线程抢到CPU的时间,也有可能是自己抢到CPU的时间,所以并不是单纯的让给其他线程。
package Thread_;
public class Thread5 implements Runnable{
public void run(){
for(int i = 0;i < 5;i++){
System.out.println(Thread.currentThread().getName() + "-->" + i + " ");
if(i == 3){
System.out.println("线程礼让");
Thread.currentThread().yield();
}
}
}
public static void main(String[] args) {
Thread5 my = new Thread5();
Thread t = new Thread(my,"A");
Thread t2 = new Thread(my,"B");
t.start();
t2.start();
}
}
下面是一种可能的结果:
A-->0
B-->0
B-->1
B-->2
B-->3
线程礼让
B-->4
A-->1
A-->2
A-->3
线程礼让
A-->4
观察以上的结果,对B在i ==3的时候,B让出线程,但是后面不是A接着运行,而是B线程接着运行
所以yield方法是让自己或者其他线程运行,并不是单纯的让给其他线程。
最后
以上就是忐忑香菇为你收集整理的Java中的线程礼让(yield方法)的全部内容,希望文章能够帮你解决Java中的线程礼让(yield方法)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复