多线程之线程礼让

线程礼让

线程礼让的几个特点:

  1. 礼让线程,让当前正在执行的线程暂停,但不阻塞
  2. 将线程从运行状态转为就绪状态
  3. 让cpu重新调度,礼让不一定成功!看cpu心情

下面通过代码实现一下线程礼让:

package org.javaboy;

/**
 * @Author: bai
 * @DateTime: 2020/6/6 21:12
 */
public class TestYield {
    
    
    public static void main(String[] args) {
    
    
        MyYield myYield = new MyYield();
        new Thread(myYield, "a").start();
        new Thread(myYield, "b").start();
    }
}

class MyYield implements Runnable {
    
    
    @Override
    public void run() {
    
    
        System.out.println(Thread.currentThread().getName() + "--begin");
        Thread.yield(); //线程礼让
        System.out.println(Thread.currentThread().getName() + "--end");
    }
}

代码解释:首先我们要创建一个类实现 Runnable 接口,在接口中通过 Thread.yield() 方法来实现线程礼让这个小案例。
然后通过调用线程的 start() 方法来启动线程,根据上面我们所列出的线程礼让的特性。
执行结果有两种可能:

  • 礼让成功的执行情况
    在这里插入图片描述
  • 礼让失败的执行情况
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43647359/article/details/106593709