线程调度-------yield()

线程调度-------yield(),第1张

线程调度-------yield()

static void   yield() 暂停当前正在执行线程对象并运行其他线程

暂停当前线程允许其他具有相同优先级的线程获得运行机会

public Static void  yield();

线程礼让只是提供一种可能,但是不能保证一定会实现礼让

yield()  暂停当前执行的线程对象,并执行其他线程           [ 线程礼让 ]

注意区分 join();和yield();

yield();礼让  放手 ,当前线程处于就绪状态

join();阻塞当前线程 直到其他线程执行完毕,当前线程才进入就绪状态

线程类:

public class MyThread implements Runnable {
    @Override
    public void run() {
        for (int i =1;i<=4;i++){  //0,1,2,3,4
            System.out.println(Thread.currentThread().getName()+";"+i);
            if (i==3){
                //线程礼让 线程调度 yield()
                Thread.yield();
            }
        }
    }
}

测试类:

public class Test {
    public static void main(String[] args) {
        //创建线程对象
        Runnable runnable = new MyThread();
        Thread t1 =new Thread(runnable,"线程A");
        Thread t2 =new Thread(runnable,"线程B");
        t1.start();
        t2.start();

    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5678155.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存