notifyAll唤醒后执行的顺序是倒序吗
来源:7-3 notify方法

不吃鱼的喵儿
2019-10-29
Runnable r = new WaitNofifyAll();
Thread threadA = new Thread(r);
Thread threadB = new Thread(r);
Thread threadC = new Thread(r);
Thread threadE = new Thread(new Runnable(){
@Override
public void run() {
synchronized (resourceA){
resourceA.notifyAll();
System.out.println("ThreadC notified.");
}
}
});
threadA.start();
threadB.start();
threadC.start();
Thread.sleep(200);
threadE.start();
唤醒后,线程的执行顺序是
Thread-2 is waiting to end
Thread-1 is waiting to end
Thread-0 is waiting to end
我可以理解为notifyAll唤醒后,线程的执行顺序是倒序执行吗
C- B - A。
写回答
1回答
-
不能理解为倒序,这个顺序是不确定的,虽然看上去可能是倒序,但是不同的JVM实现会有不同的唤醒标准。
012019-10-29
相似问题