可能這對我來說很愚蠢,但我查看了ConcurrentHashMap
的源代碼,但我無法看到該類中任何位置的方法lock()
的定義,但是我可以看到此方法被多次援引。在Eclipse中,當我在lock()
上說開放聲明時,它顯示類ReentrantLock.lock()
,所以我很困惑這是如何工作的?對於lock()方法調用,ReentrantLock
的對象引用在哪裏?ConcurrentHashMap中的lock()方法
V readValueUnderLock(HashEntry<K,V> e) {
lock(); // where is this method defined in CHM ?
try {
return e.value;
} finally {
unlock();
}
}
是的,我真的很愚蠢,不向上滾動並查看嵌套類。 – Bhaskar 2012-01-07 21:21:51
+1'static final class段擴展ReentrantLock' –
2012-01-07 21:22:45