美文网首页
Thread.yield() 方法的作用

Thread.yield() 方法的作用

作者: G先生_海林 | 来源:发表于2018-11-23 15:06 被阅读7次

Thread.yield() 方法,使当前线程由执行状态,变成为就绪状态,让出cpu时间,在下一个线程执行时候,此线程有可能被执行,也有可能没有被执行。

``
package com.yield;

public class YieldTest extends Thread {

public YieldTest(String name) {
    super(name);
}

@Override
public void run() {
    for (int i = 1; i <= 50; i++) {
        System.out.println("" + this.getName() + "-----" + i);
        // 当i为30时,该线程就会把CPU时间让掉,让其他或者自己的线程执行(也就是谁先抢到谁执行)
        if (i == 30) {
            this.yield();
        }
    }
}

public static void main(String[] args) {
    YieldTest yt1 = new YieldTest("张三");
    YieldTest yt2 = new YieldTest("李四");
    yt1.start();
    yt2.start();
}

}

``
运行结果:

第一种情况:李四(线程)当执行到30时会CPU时间让掉,这时张三(线程)抢到CPU时间并执行。


image.png

第二种情况:李四(线程)当执行到30时会CPU时间让掉,这时李四(线程)抢到CPU时间并执行。


image.png

相关文章

  • Thread.yield() 方法的作用

    Thread.yield() 方法,使当前线程由执行状态,变成为就绪状态,让出cpu时间,在下一个线程执行时候,此...

  • Java——yield()作用

    Thread.yield()方法作用是:暂停当前正在执行的线程对象,并执行其他线程。 yield()应该做的是让当...

  • java 并发 yield()方法-线程让步

    线程让步。Thread.yield()方法作用是:暂停当前正在执行的线程对象,并执行其他线程。但是,实际中无法保证...

  • 多线程 Thread.yield 方法到底有什么用?

    Thread.yield() 方法是干什么用的呢? yield 即 "谦让",也是 Thread 类的方法。它让出...

  • 线程通信

    线程的生命周期image.png Thread.yield(); 作用:暂停当前正在执行的线程对象(及放弃当前拥有...

  • 浅谈Thread.yield()方法

    概念 当调用Thread.yield()方法时,会给线程调度器一个当前线程愿意让出CPU使用的暗示,但是线程调度器...

  • 线程礼让

    Thread.yield() 礼让方法 假如有A,B两个线程,A线程调用礼让方法,会从cpu调度中出来,这个时候A...

  • Java基础-线程-yeild

    Java线程中的Thread.yield( )方法,译为线程让步。顾名思义,就是说当一个线程使用了这个方法之后,它...

  • 线程的礼让_Thread.yield()方法

    在多线程里面有各种各样的方法,其中有一个礼让的方法很有意思,现实生活中所谓的礼让,就是“委屈自己方便他人”!比如过...

  • Thread.yield、Thread.sleep、Object

    Thread.yield、Thread.sleep、Object.wait、 LockSupport.park ...

网友评论

      本文标题:Thread.yield() 方法的作用

      本文链接:https://www.haomeiwen.com/subject/sicjqqtx.html