Java 找出我的线程落在可重入锁中的位置

Java 找出我的线程落在可重入锁中的位置,java,concurrency,locks,Java,Concurrency,Locks,我想知道我的线程在可重入锁的锁队列的哪个位置着陆?调用lock.lock()时是否存在返回队列中位置的神奇锁?或者有人知道如何认识到这一点吗? 提前感谢 Thomas@toto向我指出,它确实使用getQueueLength()提供了一个估计值。您可以在获取锁之前或之后获取长度,这取决于您想知道长度的原因 队列是无锁的,因此无论位置是什么,在估计值时它可能是不正确的,更不用说在方法返回时了。一般来说,你对这个职位不感兴趣,因为你应该组织你的代码,所以它很少等待锁 也许您可以指出您感兴趣的原因……


我想知道我的线程在可重入锁的锁队列的哪个位置着陆?调用lock.lock()时是否存在返回队列中位置的神奇锁?或者有人知道如何认识到这一点吗?
提前感谢

Thomas

@toto向我指出,它确实使用getQueueLength()提供了一个估计值。您可以在获取锁之前或之后获取长度,这取决于您想知道长度的原因

队列是无锁的,因此无论位置是什么,在估计值时它可能是不正确的,更不用说在方法返回时了。一般来说,你对这个职位不感兴趣,因为你应该组织你的代码,所以它很少等待锁


也许您可以指出您感兴趣的原因……

ReentrantLock.getQueueLength()
“返回等待获取此锁的线程数的估计值。”