【发布时间】:2011-04-25 19:20:44
【问题描述】:
这个问题的灵感来自this other question。
如果多个线程在一个synchronized 块上等待,并且锁可用,谁先去?是按线程优先级(然后是先到先得)吗?
同样的规则是否适用于notify(具有多个waiting 线程)?
【问题讨论】:
-
如果您正在寻找“公平锁”,请查看 java.util.concurrent 包。例如,ReEntrantLocks 是公平的。公平性来自这样一个事实,即优先考虑最长等待的线程,类似于进程调度中的“老化”概念。
标签: java multithreading jvm scheduling