Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我使用同步方法或锁并且某些线程进入等待队列,它们离开等待队列的顺序是否与进入队列的顺序相同?换句话说,第一个进入等待队列的线程是否也先离开它?
不,JVM随机选择Thread从等待状态中唤醒一个使用notify()或notifyAll()唤醒它们。特别是notify()只有一个 Thread 会被随机选择进入执行状态,而notifyAll()所有的等待Threads在一起,但不能保证它们会以什么顺序被执行。
JVM
Thread
notify()
notifyAll()
Threads