java多线程之yield
来源:互联网 发布:解忧杂货店淘宝 编辑:程序博客网 时间:2024/06/17 03:20
java的Thread.yield,是暂停正在执行的线程,然后执行其他线程(包括被暂停的线程),但是无法保证执行yield方法的线程真正达到“让步”的目的,因为“让步”的线程也有可能被线程调度程序选中继续执行。
class MyThread extends Thread {private String threadName;public MyThread(String threadName) {this.threadName = threadName;}@Overridepublic void run() {for(int i = 0; i < 3; i++) {System.out.println(threadName + "输出" + i + ",并让出控制权。");Thread.yield();}}}public class ThreadYieldDemo {public static void main(String[] args) {MyThread t1 = new MyThread("t1");MyThread t2 = new MyThread("t2");t1.start();t2.start();}}第一次执行,结果如下:
t2输出0,并让出控制权。
t1输出0,并让出控制权。
t1输出1,并让出控制权。
t2输出1,并让出控制权。
t2输出2,并让出控制权。
t1输出2,并让出控制权。
第二次执行,结果如下:
t1输出0,并让出控制权。
t2输出0,并让出控制权。
t1输出1,并让出控制权。
t2输出1,并让出控制权。
t1输出2,并让出控制权。
t2输出2,并让出控制权。
可见结果是变化的,有的时候线程执行yield后又再次被cpu选中继续执行。
阅读全文
0 0
- java多线程之yield
- java多线程之(yield)
- Java多线程之sleep 和yield方法
- java多线程之join与yield
- Java多线程之Wait,Sleep,Yield,Notify
- java多线程之join与yield
- 多线程 之 yield
- Java多线程yield
- java 多线程yield
- Java 多线程:yield
- Java 多线程 yield方法
- java多线程yield
- java 多线程之wait、sleep、yield区别与联系
- Java多线程之wait,notify,sleep,,yield,join,suspend,resume
- Java多线程 之 Callable sleep yield 优先级(三)
- Java多线程之sleep,wait,join和yield关键字
- Java多线程系列-- 之 yield与join方法的区别
- C++11多线程之yield
- php基础总结
- MVP的立即
- 剑指offer题五
- P2746 [USACO5.3]校园网Network of Schools
- Linux中free命令详解
- java多线程之yield
- Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
- KOA2 提供HTTPS安全服务
- Android面试-Java基础-基本语法
- log4j.properties 配置
- eclipse导入myeclipse的web项目没法识别问题解决
- OpenCV人脸识别实验(二)——特征脸(fisherface)及其重构的源代码详解
- [leetcode]74. Search a 2D Matrix(Java)
- CentOS-CentOS原始/etc/pam.d/system-auth文件内容