![]() |
1
1
您可以使用java.util.concurrent.semaphore而不是monitor。二进制信号量可以与同步块具有相同的用途:
您可以使用以下方法检查信号灯的状态:
|
![]() |
2
2
通知的要点是让等待监视器的其他线程知道他们可以尝试获取它。只有监视器的当前所有者才能发送通知,以指示已完成处理。 为了拥有监视器,显然您阻塞了任何其他线程。这毕竟是监视器的目的。 |
![]() |
3
1
也许是一个 ReentrantLock 解决你的问题?例如
此外,你还可以做
和
|
![]() |
4
0
尝试泊车/拆离
http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/LockSupport.html |
![]() |
5
0
不,你不能。如果您尝试类似的方法,您将得到一个“当前线程而不是所有者”。 |