yield()

yield
v.出产(作物);产生(收益、效益等);提供;屈服;让步;放弃;缴出
n.产量;产出;利润

Thread.yield()
让当前处于运行状态下的线程转入就绪状态;

运行状态下的线程 调用Thread.yield()进入就绪状态后,和其它就绪状态线程处于同一起跑线,也有可能被立即再次被调用;

yield()底层是native方法

public static native void yield();

注意:yield()不是阻塞线程;

public class YiledTest implements Runnable {public static void main(String[] args) {MyThreadTest mt = new MyThreadTest();new Thread(mt,"1").start();new Thread(mt,"2").start();new Thread(mt,"3").start();}
}class MyThreadTest implements Runnable {@Overridepublic void run() {System.out.println(Thread.currentThread().getName()+"start ...");Thread.yield();System.out.println(Thread.currentThread().getName()+"over ...");}
}

输出

1 start ...
2 start ...
1 over ...
3 start ...
2 over ...
3 over ...

可以看出,线程让出了CPU后进入了就绪态,抢到了CPU后又接着运行;

java Thread.yield()用法详解相关推荐

  1. [Python] 关键字 yield 用法详解

    一个十分十分优秀的博客: python中yield的用法详解--最简单,最清晰的解释.

  2. python yield 用法详解

    python yield 生成器 文章目录 python yield 生成器 1. 背景 2. 如何生成斐波那契數列 清单 1. 简单输出斐波那契數列前 N 个数 清单 2. 输出斐波那契數列前 N ...

  3. java yeild_Java 中 Thread.yield() 方法详解

    对于很多初学 Java 线程的小伙伴们,很容易将 Thread 类里的 yield() 方法理解错误,或者理解得不够透彻,先看下源码: public static native void yield( ...

  4. java的concurrent用法详解

    我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便.而当针对高质量Java ...

  5. Java enum的用法详解

    在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public e ...

  6. java中ArrayList用法详解,基本用法(含增删改查)

    1.什么是ArrayList  ArrayList就是 动态数组,它提供了 ①动态的增加和减少元素  ②实现了ICollection和IList接口 ③灵活的设置数组的大小 ArrayList是一个其 ...

  7. Java中SimpleDateFormat用法详解

    Java中怎么才能把日期转换成想要的格式呢,或把字符串转换成一定格式的日期,如把数据库中的日期或时间转换成自己想要的格式,JAVA中提供了SimpleDateFormat类可以实现,以下是Simple ...

  8. Java中 DecimalFormat 用法详解

    对Java中 DecimalFormat 的所有基础用法进行了一个汇总.DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度.0 表示如果位数不足则以 0 填充,# 表示只要有 ...

  9. Java中Map用法详解

    原文地址http://blog.csdn.net/guomutian911/article/details/45771621 原文地址http://blog.csdn.net/sunny2437885 ...

  10. java lobo使用_[持续更新]Cobra:Java HTML parser用法详解

    Cobra主页:http://lobobrowser.org/ Cobra API:http://lobobrowser.org/cobra-api/index.html 使用Cobra(已经安装JR ...

最新文章

  1. vi php自动补全,vim7.2 代码自动补全的配置 | 学步园
  2. asio::write RuntimeError
  3. c语言fread读取错误,【求助】C语言fread读取二进制文件时,读取结果全都是零
  4. python turtle渐变色_如何在matplotlib中绘制渐变色线?
  5. BootstrapVue UI组件
  6. 浅谈大型网站之负载均衡架构
  7. UDP 通讯协议 局域网通信发送消息 简单实现
  8. Django与SQL语言中——NULL与空字符串的区别
  9. windows下Eclipse调试ffmpeg
  10. Android入门学习4
  11. C#格式化小数位的方法
  12. Illustrator 教程,如何在 Illustrator 中裁剪、分割和修剪作品?
  13. win10如何添加linux开机引导,win10 linux 双系统怎么设置开机引导
  14. 基于LabVIEW的WIFI通信人机交互界面设计
  15. 阿里云STMP实现邮件发送
  16. codeforces1467E. Distinctive Roots in a Tree
  17. 单调队列优化dp--bzoj5185: [Usaco2018 Jan]Lifeguards
  18. stderr/stdout用法
  19. docker项目切换(nginx)、重启shell 脚本
  20. 树上战争(2545)

热门文章

  1. android 加载中自定义控件,Android 自定义一款炫酷的加载控件
  2. biopython1_序列操作
  3. atm机编程java_初识Java,关于一个简单的ATM机的java程序设计
  4. 阿里云云计算 8 ECS的实例规格
  5. python正则表达式提取c语言中的函数,Python正则表达式匹配C语言函数
  6. STL Container
  7. 241.为运算表达式设计优先级
  8. mysql怎么添加第二行,如何在mysql中得到結果查詢中只有第二行?
  9. android记事本的app,自己编写的Android记事本APP软件
  10. sqlite 表与表之间的关系_第33章 Django多表关系之一对一