我是靠谱客的博主 忐忑香菇,这篇文章主要介绍Java中的线程礼让(yield方法),现在分享给大家,希望可以做个参考。

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中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(125)

评论列表共有 0 条评论

立即
投稿
返回
顶部