如何检查是否有任何等待条件变量的线程?

时间:2011-11-03 16:42:05

标签: java locks concurrency

我有条件变量名为cond。

如果有任何线程等待cond,是否有任何方法可以给我真或假?

我需要这样的东西:         Boolean cond.isAwaitingSetEmpty()

感谢您的帮助

2 个答案:

答案 0 :(得分:4)

如果“条件”是指由Condition创建的ReentrantLock.newCondition(),则可以使用ReentrantLock.hasWaiters(Condition cond)

答案 1 :(得分:1)

Lock可以Condition绑定:

http://download.oracle.com/javase/6/docs/api/java/util/concurrent/locks/ReentrantLock.html

例如:

getWaitingThreads(Condition condition) 
getWaitQueueLength(Condition condition)