唤醒正在该对象的监视器上等待的单个线程。如果有任何线程正在等待该对象,则选择唤醒其中一个线程。该选择是任意的并且由实现自行决定。线程通过调用 wait 方法之一来等待对象的监视器。
因此,如果您使用,synchronized(obj){}您基本上无法控制哪个线程将获得 上的锁obj,并且您无法做出任何假设。这取决于调度程序。
如果您想要公平性(即,下一个获取锁的线程是队列中的第一个线程),请查看ReentrantLock:它有一个布尔标志来指定您想要强制公平性。
| 归档时间: |
|
| 查看次数: |
489 次 |
| 最近记录: |