我是靠谱客的博主 忐忑香菇,最近开发中收集的这篇文章主要介绍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中的线程礼让(yield方法)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部