问题
I have Condition variable named cond.
Is there any method which could give me true or false if there is any thread awaiting on cond?
I need something like: Boolean cond.isAwaitingSetEmpty()
Thanks for help
回答1:
If by "condition" you mean a Condition
created by ReentrantLock.newCondition()
, then you can use ReentrantLock.hasWaiters(Condition cond).
回答2:
It's available from the Lock
that the Condition
is bound to:
http://download.oracle.com/javase/6/docs/api/java/util/concurrent/locks/ReentrantLock.html
For example:
getWaitingThreads(Condition condition)
getWaitQueueLength(Condition condition)
etc.
来源:https://stackoverflow.com/questions/7998609/how-to-check-is-any-thread-waiting-on-condition-variable