Java线程之线程的调度-让步

白玉 IT哈哈
线程的让步含义就是使当前运行着线程让出CPU资源,但是然给谁不知道,仅仅是让出,线程状态回到可运行状态。

线程的让步使用Thread.yield()方法,yield()为静态方法,功能是暂停当前正在执行的线程对象,并执行其他线程。

/** * Java线程:线程的调度-让步* * @author leizhimin 2009-11-4 9:02:40 */ publicclass Test {        publicstaticvoid main(String[] args) {                Thread t1 = new MyThread1();                Thread t2 = new Thread(new MyRunnable());                t2.start();                 t1.start();         } } class MyThread1  extends Thread {         publicvoid run() {                for (int i = 0; i < 10; i++) {                        System.out.println("线程1第" + i + "次执行!");                }         } } class MyRunnableimplements Runnable {        publicvoid run() {                for (int i = 0; i < 10; i++) {                        System.out.println("线程2第" + i + "次执行!");                        Thread.yield();                 }         } }

线程2第0次执行!
线程2第1次执行!
线程2第2次执行!
线程2第3次执行!
线程1第0次执行!
线程1第1次执行!
线程1第2次执行!
线程1第3次执行!
线程1第4次执行!
线程1第5次执行!
线程1第6次执行!
线程1第7次执行!
线程1第8次执行!
线程1第9次执行!
线程2第4次执行!
线程2第5次执行!
线程2第6次执行!
线程2第7次执行!
线程2第8次执行!
线程2第9次执行!

安得广厦千万间,大庇天下寒士俱欢颜

更多相关文章

  1. java中的几个线程池的使用
  2. (不谈废话,只有干货)解决线程间协作问题的工具类Exchanger详解
  3. 一文看懂 Node.js 中的多线程和多进程[每日前端夜话0x107]
  4. 如何停止一个线程池?
  5. Java 中线程池包含哪些状态?
  6. 如何创建、启动 Java 线程?
  7. Executors如何创建线程池?
  8. 什么是线程?什么是进程?为什么要有线程?有什么关系与区别?
  9. 什么是线程池?

随机推荐

  1. 2000万条直播数据,揭秘斗鱼主播生存现状
  2. “三本”应届走社招,已顺利拿 offer & 附
  3. Python 为什么使用缩进来划分代码块?
  4. Android(安卓)项目多版本管理
  5. Python 的缩进是不是反人类的设计?
  6. 官宣!Python 开发者大会(PyCon US)提供在线
  7. 小鹿海投几百份简历,能不能搭理我一下?
  8. Python 的十万个为什么?
  9. 数说:这只程序员组建的乐队为何能进HOT5?
  10. 要成为一个专业的爬虫大佬,你还需要了解这