yeild

一个调用yield方法的线程,是要告诉虚拟机它乐意让其他线程占用自己的位置,yield将当前线程由运行状态置为就绪状态,来达到让步的目的,但是刚进入就绪状态的线程也可能马上进入运行状态。

yield代码示例

public class YeildDemo {class Thread1 extends Thread {public Thread1(String name) {super(name);}public void run() {for (int i = 0; i < 5; i++) {System.out.println(getName() + "第" + i + "次执行");Thread.yield();}}
}class Thread2 extends Thread {public Thread2(String name) {super(name);}public void run() {for (int i = 0; i < 5; i++) {System.out.println(getName() + "第" + i + "次执行");Thread.yield();}}
}public static void main(String[] args) {YeildDemo demo = new YeildDemo();Thread1 t1 = demo.new Thread1("线程1");Thread1 t2 = demo.new Thread1("线程2");t1.start();t2.start();}
}

上述代码在没有调用yeild方法的输出结果

线程1第0次执行
线程1第1次执行
线程1第2次执行
线程1第3次执行
线程1第4次执行
线程2第0次执行
线程2第1次执行
线程2第2次执行
线程2第3次执行
线程2第4次执行

上述代码在调用yeild方法的输出结果

线程2第0次执行
线程1第0次执行
线程2第1次执行
线程1第1次执行
线程2第2次执行
线程1第2次执行
线程2第3次执行
线程1第3次执行
线程2第4次执行
线程1第4次执行

当然上述结果只是其中的一种运行结果,但经过多次运行,大致就是上面的规律。


尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili尚学堂给同学们带来全新的Java300集课程啦本课程为Java300集2022版第一季,配合最新版的Java课程,所有视频重新录制,课件所有图形做了重新绘制和配色,图解学习Java,让学习成为一种享受本套教程专门为零基础学员而制,适合准备入行Java开发的零基础学员,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。后续课https://www.bilibili.com/video/BV1qL411u7eE

零基础java自学流程-Java语言高级269相关推荐

  1. 零基础java自学流程-Java语言高级534

    BIO BIO(Blocking I/O),同步阻塞,实现模式为一个连接一个线程,即当有客户端连接时,服务器端需为其单独分配一个线程,如果该连接不做任何操作就会造成不必要的线程开销.BIO是传统的Ja ...

  2. 零基础java自学流程-Java语言高级577

    HTTP Request header 使用Fiddler 能很方便的查看Reques header, 点击Inspectors tab ->Request tab-> headers  ...

  3. 零基础java自学流程-Java语言高级369

    //存放矩阵每行的查找结果 public class Result {private int data[];public Result(int size) {data=new int[size];}p ...

  4. 零基础java自学流程-Java语言高级432

    (4)TIDYING 当执行shutdown()或shutdownNow()之后,如果所有任务已中止,且工作线程数量为0,就会进入这个状态. final void tryTerminate() {fo ...

  5. 零基础怎么自学Java?自学Java有什么误区?

    目前在中国众多行业中,极具发展潜力的就是Java软件开发工程师.学Java的人也是越来越多.实际上在学习Java编程之前需要先学习一些编程基础.新手往往无非进行系统的学习,主要原因是自己搜集信息较为零 ...

  6. 零基础,自学JAVA编程需要多长时间才能学完?

    现在不少朋友在问:零基础学Java需要花多少时间?在你开始学一门技术之前,你也得进行各个方面的考察,特别是时间方面你得仔细的思考,因为时间短,这是人之喜见的,要是时间长,那么你就会产生焦虑.不安.自我 ...

  7. Java零基础好学吗?Java该怎么学?

    Java零基础好学吗?Java该怎么学?在IT行业中,Java开发工程师是一个很吃香的职业,薪资水平也是几乎过万,许多人想转行Java开发,但又担心零基础能不能学会,学起来有多难,如果是零基础自学Ja ...

  8. 零基础小白如何学会Java?

    Java作为目前使用最广泛的编程语言,自身在常见的企业级业务应用程序以及Android应用程序等方面都有突出的表现.作为跨平台语言,具有安全性.易用性.通用性等特点,被特意设计用于互联网的分布式环境. ...

  9. 零基础适合学python吗-零基础更适合学习Java还是python?

    原标题:零基础更适合学习Java还是python? 最近有小伙伴向云和数据小编咨询,说想学习一门编程语言,但是没有任何基础,问是学习Java好还是学python更合适?对于这位小伙伴的问题,小编觉得有 ...

最新文章

  1. 全民K歌直播推荐算法实践
  2. 编程异常——假设你报createSQLQuery is not valid without active transaction,...
  3. wpf prism IRegionManager 和IRegionViewRegistry
  4. Linux入门笔记——type、switch、help、man、apropos、whatis、info
  5. 强烈推荐 MicroSoft Office OneNote
  6. Node.js-json-模块化-全局对象-fs-服务-Buffer
  7. Spring Cloud Eureka 配置原理详解
  8. bzoj 2435: [Noi2011]道路修建(DFS)
  9. Nebula Graph - 全文索引
  10. Windows环境下搭建SQL注入环境(sqli-labs)
  11. 1U - 4.445厘米
  12. PHP 项目 该网页无法正常运作情况,但没有报错
  13. 2020面试准备之Java集合
  14. 大学物理实验 载流圆线圈轴线上的磁场分布
  15. java调用bat脚本实现pppoe拨号_pppoe客户端自动拨号原理及实现
  16. zynqMP平台在vitis2020.1下烧录QSPI flash各种失败和错误的治疗方法
  17. adobe acrobat dc 2021如何统一pdf页面大小?
  18. 目前已完成linux适配的软件,WPS Linux版与国产统一操作系统UOS完成适配:符合国人使用习惯...
  19. CodeGear Releases 3rdrail
  20. eyeBeam采用TCP传输的一个BUG

热门文章

  1. 插入排序实现——直接插入排序和希尔排序
  2. zathura 快捷键
  3. CTF学习笔记22:iwebsec-文件上传漏洞-07-条件竞争文件上传
  4. python PIL安装教程
  5. 关于设置applicationIconBadgeNumber提醒数字的问题
  6. JavaScript split()方法
  7. 0是FALSE 1是TRUE
  8. 拖拽平台-h5拖拽设计渲染原理
  9. html5 读诗,5部极美的诗词启蒙纪录片,和孩子一起收藏了慢慢看
  10. JS原生 未来元素监听写法