How to check is any thread waiting on condition va

2019-06-02 08:29发布

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

2条回答
Ridiculous、
2楼-- · 2019-06-02 08:54

If by "condition" you mean a Condition created by ReentrantLock.newCondition(), then you can use ReentrantLock.hasWaiters(Condition cond).

查看更多
爷、活的狠高调
3楼-- · 2019-06-02 08:55

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.

查看更多
登录 后发表回答