这个问题的灵感来自this other question。
如果有多个线程在synchronized
块上等待,并且锁可用,那么谁先走?是按线程优先级(然后是先到先得)进行吗?
相同的规则是否适用于notify
(具有多个wait
编码线程)?
最佳答案
根据这个家伙的说法:http://tutorials.jenkov.com/java-concurrency/starvation-and-fairness.html
Java对顺序不做任何保证。所以我想这不是基于线程优先级的
我将尝试进一步寻找有关Java实际上如何决定谁先行的解释。
关于java - Java:WAITING同步块(synchronized block),谁先走?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3940164/