public class Example extends Thread {
public static void main(String[] args) {
Example t1 = new Example();
Example t2 = new Example();
t1.start();
t2.start();
} public void run() {
System.out.print("1");
yield();
System.out.print("2");
}
}这一定输出1122吗?
public static void main(String[] args) {
Example t1 = new Example();
Example t2 = new Example();
t1.start();
t2.start();
} public void run() {
System.out.print("1");
yield();
System.out.print("2");
}
}这一定输出1122吗?
也就是说,yield只是放弃了自己本次执行的权利,让所有线程都处于可运行状态,有JVM再次决定下一次运行哪个线程。这里面是包含自己的,也就是刚刚放弃运行的线程的。参考:Thread.yield到底是什么作用?如下程序输出什么?