美文网首页
让线程放弃执行权-yield

让线程放弃执行权-yield

作者: NewNiu | 来源:发表于2023-02-18 10:15 被阅读0次

例如现在有两个线程T1&T2
T1的作用是一个给value赋值的功能。
T2的作用是一当T1value被赋值完成后打印value值的功能。

T1
public class ValueTask implements Runnable {
  public static int value = 0;
  @override
  public void run() {
    try {
      Thread.sleep(10000);
    }catch(Exception e) {
      e.printStackTrace();
    }
    // 设置value的值
    value = 100;
  }
}

T2
public class PrintTask implements Runnable {
    @Override
    public void run() {
        while(ValueTask.value == 0) {
             Thread.yeild();// 放弃当前线程的执行权,等ValueTask.value不等于0以后执行后面的动作。
        }
        System.out.println(ValueTask.value);
    }
}

现实当中,有许多场景会用到类似的功能。例如在执行多线程并发任务后,其中一条任务需要等待另外两个任务执行完成后的结果再将结果组合在一起时的功能就可以这样使用。

相关文章

  • 让线程放弃执行权-yield

    例如现在有两个线程T1&T2T1的作用是一个给value赋值的功能。T2的作用是一当T1value被赋值完成后打印...

  • Java中Thread.yield()

    线程让步。使用了这个方法之后,线程会让出CPU执行权,让自己或者其它的线程运行。也就是说,当前线程调用yield(...

  • Java——yield()作用

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

  • 线程通信

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

  • Java并发编程(二) - 线程(中) - 常用方法,关键字和锁

    1. 线程常用方法 start这个方法让线程处于Runnable(可运行)状态。 yield使当前正在执行的线程向...

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

    概念 我们知道 start() 方法是启动线程,让线程变成就绪状态等待 CPU 调度后执行。 那 yield() ...

  • JAVA多线程08-基础篇-线程让步yield()

    本节摘要:yield()功能介绍,yield()用法示例 一、功能介绍 让当前线程(调用yield()方法的线程)...

  • 多线程 | 基础

    第一章 多线程基础 join() 执行线程等待被调用线程执行完毕,才执行下步操作 yield() 当前线程让出cp...

  • 多线程-打印零与奇偶数的3种写法

    写法1:使用volatile的可见性,让变量来控制,Thread.yield()使线程让出当前时间片给其他线程执行...

  • thread join与yield

    yield yield:英文意思是:屈服,退让。在线程中也有类似意思,意思是当前线程退让出使用权,把运行机会交给线...

网友评论

      本文标题:让线程放弃执行权-yield

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