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 {
@Override
public 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后又
接着
运行;
版权声明:本文为qq_43369986原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。