Java se中,线程中 yield 方法,两个相同权限的线程 t1 和 t2
public class TestYield {
public static void main(String[] args) {
Mythread3 t1 = new Mythread3("t1");
Mythread3 t2 = new Mythread3("t2");
t1.setPriority(Thread.NORM_PRIORITY);
t2.setPriority(Thread.NORM_PRIORITY);
t1.start();
t2.start();
}
}
class Mythread3 extends Thread {
Mythread3(String s) {
super(s);
}
public void run() {
for(int i=1; i<=100; i++) {
System.out.println(getName() + " :" + i);
if(i % 10 == 0) {
yield();
}
}
}
}
为什么,t1 调用yield() 方法后,有可能不是 t2线程 执行,而还是 t1 线程继续执行,并没有表现出 t1 要暂停,让其他同权限的线程获得执行的机会?求解!!
}
|
|