How to check is any thread waiting on condition variable?

心已入冬 提交于 2019-12-08 04:05:27

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!