1
我想知道我的Thread的LockinQueue位於哪個位置?有沒有一些魔術鎖在調用lock.lock()時返回隊列中的位置?還是有人知道如何意識到這一點?
在此先感謝
托馬斯找出我的線程在ReentrantLock中的什麼位置
我想知道我的Thread的LockinQueue位於哪個位置?有沒有一些魔術鎖在調用lock.lock()時返回隊列中的位置?還是有人知道如何意識到這一點?
在此先感謝
托馬斯找出我的線程在ReentrantLock中的什麼位置
@toto指出,我認爲它確實提供了使用getQueueLength()的估計。您可以在獲取鎖之前或之後獲取長度,具體取決於您想知道長度的原因。
隊列被鎖定的更少,所以無論位置是什麼,在估計值的時候它可能都是不正確的,在方法返回的時候沒關係。通常情況下,您不應該對位置感興趣,因爲您應該構建代碼,因此很少等待鎖定。
也許你說明你爲什麼有興趣....
'ReentrantLock.getQueueLength()'「返回等待獲取此鎖的線程數的_estimate_。」 – toto2 2011-06-06 17:15:28