ReentrantLock和stampedlock有什么区别?哪一个更喜欢?

时间:2016-12-07 12:31:24

标签: java concurrency java-8 locking reentrantlock

在ReentrantLock和StampedLock之间选择的用例应该是什么? 例如,如果我有10个读者和10个作者,应该选择哪个锁? 如果我有20位读者和1位作家,可以选择哪一个?

1 个答案:

答案 0 :(得分:3)

ReentrantLock正如其名称javadocs所说,是可重入的。 StampedLock不是。

StampedLock是一个低级构建块,具有一些脆弱的行为和与java内存模型的复杂交互。应该避免使用它,除非你了解它的所有属性并使用配置文件代码来确定锁定时确实存在瓶颈。

相关问题