2016-12-07 43 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内存模型的复杂交互。应该避免使用它,除非你了解它的所有属性,并且有代码来确定某些事情实际上是锁定的瓶颈。

相关问题