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

最佳答案

顾名思义,ReentrantLock是可重入的。 StampedLock不是。

StampedLock是一个低级构建块,具有一些脆弱的行为以及与Java内存模型的复杂交互。除非您了解其所有属性,并且已使用概要文件代码确定某些内容实际上是锁定瓶颈,否则应避免使用它。

09-27 17:26