2016-12-07 72 views
-1

應該在ReentrantLock和StampedLock之間進行選擇的用例是什麼? 例如,如果我有10位讀者和10位作者,應該選擇哪個鎖? 如果我有20位讀者和1位作家,哪一位可以選擇?ReentrantLock vs stampedlock和有什麼不一樣?哪一個更喜歡?

+1

相關:http://stackoverflow.com/questions/26094200/what-is-stamped-locks-in-java – Thilo

+0

@Thilo這個問題沒有回答我有關讀者和作家的問題。爲什麼它低調? – KayV

+0

@Thilo你是否故意降低我的其他問題? – KayV

回答

3

ReentrantLock是,因爲它的名字和javadocs說的是可重入的。 StampedLock不是。

StampedLock是一個低級構造塊,具有一些脆弱的行爲和與java內存模型的複雜交互。應該避免使用它,除非你瞭解它的所有屬性,並且有代碼來確定某些事情實際上是鎖定的瓶頸。

相關問題