Java 如何找出另一个线程是否正在等待?

Java 如何找出另一个线程是否正在等待?,java,Java,我注意到没有isWaiting()方法。是否可以测试在特定对象上是否有任何线程被阻塞或正在等待?给定一个线程对象,是否可以找到该线程正在等待的对象(如果有的话)?好的,对于等待状态,请尝试Thread.getState()==Thread.state.waiting | | Thread.getState()==TIMED\u waiting 至于线程等待的对象,我不确定,但我怀疑如果没有本机代码,您是否可以获得线程等待的对象。另一种方法,即获取持有给定对象锁的线程,似乎也不可能使用纯Java(

我注意到没有isWaiting()方法。是否可以测试在特定对象上是否有任何线程被阻塞或正在等待?给定一个线程对象,是否可以找到该线程正在等待的对象(如果有的话)?

好的,对于等待状态,请尝试
Thread.getState()==Thread.state.waiting | | Thread.getState()==TIMED\u waiting


至于线程等待的对象,我不确定,但我怀疑如果没有本机代码,您是否可以获得线程等待的对象。另一种方法,即获取持有给定对象锁的线程,似乎也不可能使用纯Java(请参见此处:)。

对于等待状态,请尝试
thread.getState()==thread.state.waiting | | thread.getState()==TIMED\u waiting


至于线程等待的对象,我不确定,但我怀疑如果没有本机代码,您是否可以获得线程等待的对象。另一方面,也就是获取在给定对象上持有锁的线程,对于纯Java来说似乎也是不可能的(参见此处:)。

基本的并发方法可能无法满足您的需要。您可能需要尝试java.util.concurrent包。可以解决问题的示例类之一是。以下是关于线程的完整说明。

基本的并发方法可能无法满足您的需要。您可能需要尝试java.util.concurrent包。可以解决问题的示例类之一是。这是关于线程的完整说明。

我想你是在回答这个问题,因为这个锁包含一个getOwner()方法。我想你是在回答这个问题,因为这个锁包含一个getOwner()方法。