概念:

  当调用Thread.yield方法时,会给线程调度器一个当前线程愿意让出CPU使用的暗示,但是线程调度器可能会忽略这个暗示。

代码演示:

public class YieldDemo implements Runnable{

    @Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + i);
if (i == 5) {
Thread.yield();
}
}
} public static void main(String[] args){
final Thread t1 = new Thread(new YieldDemo(),"A");
final Thread t2 = new Thread(new YieldDemo(),"B");
t1.start();
t2.start(); }
}

分别有以下两种情况输出:

第一种情况:

A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,

第二种情况:

A0,A1,A2,A3,A4,A5,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,A6,A7,A8,A9,

最新文章

  1. su到普通用户不能起图形 解决办法
  2. UITextField使用详解
  3. 【shell】条件判断式
  4. 固定分隔符字符串与数组互转及ArrayList与数组(Array)互转
  5. freeCodeCamp:Where art thou
  6. Spark RDD/Core 编程 API入门系列之动手实战和调试Spark文件操作、动手实战操作搜狗日志文件、搜狗日志文件深入实战(二)
  7. cognos安装和配置即席报表流程
  8. [Codeforces 696D] Legen...
  9. [Gradle] 在 Eclipse 下利用 gradle 构建系统
  10. express respond.send 和 end的区别
  11. Html书写规范,基本标签使用
  12. Invitation Cards spfa
  13. hdfs性能调优(cloudera)
  14. 【ECMAScript5】ECMAScript5中有关数组的常用方法
  15. Vagrant 遇到的问题
  16. python 多进程、多线程
  17. 54 Django 模型层(1) 单表查询
  18. 【LOJ】#2292. 「THUSC 2016」成绩单
  19. CRF 及CRF++ 安装与解释
  20. 会说话的HTML--语义化杂谭-TGideas-腾讯游戏官方设计团队

热门文章

  1. 2018.2.12 PHP 如何读取一亿行的大文件
  2. Mysql command line
  3. Vue中npm run build报“Error in parsing SVG: Unquoted attribute value”
  4. Dede技巧
  5. 文件下载(NSURLConnection/NSURLSession)
  6. 类扩展Extension
  7. C++ 学习笔记 开篇
  8. 【细节题 离线 树状数组】luoguP4919 Marisa采蘑菇
  9. 【NOIP2017提高A组冲刺11.8】好文章
  10. linux关于软件安装和测试