线程礼让

礼让

Thread.yield() 礼让方法

假如有A,B两个线程,A线程调用礼让方法,会从cpu调度中出来,这个时候A和B都是就绪状态,有可能下次cpu还是会调度A线程,所以可能会礼让不成功。

public class TestThreadYield implements Runnable {
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName()+" start");
        Thread.yield();
        System.out.println(Thread.currentThread().getName()+" end");
    }

    public static void main(String[] args) {
        TestThreadYield threadYield = new TestThreadYield();
        new Thread(threadYield,"A").start();
        new Thread(threadYield,"B").start();
    }


}

运行结果有可能礼让成功,也可能不成功

A start
B start
B end
A end

A start
B start
A end
B end

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。