java - 锁拆分与锁 strip 化

标签 java multithreading locking

以下是 Joshua 的 Effective Java 的摘录:

If you do synchronize your class internally, you can use various techniques to achieve high concurrency, such as lock splitting, lock striping, and nonblocking concurrency control.

上面表明锁拆分和锁 strip 化是两种不同的技术,但是当我试图找到它们之间的区别时,我找不到区别。

它们之间有区别还是一样?

最佳答案

锁拆分是关于为类功能的不同部分使用不同的锁;例如一把锁用于读操作,另一把锁用于写操作。

锁 strip 化是指对一个类管理的数据结构的不同部分( strip )使用不同的锁;例如将 map 划分为子 map ,每个子 map 都有自己的锁。

关于java - 锁拆分与锁 strip 化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44123180/

相关文章:

c# - 如何在 C# 线程中使用等待句柄?

multithreading - 在Julia 1.5.2中获取锁时出错

java - setMaximumFractionDigits不适用于ThreadLocal <NumberFormat>

java - java中hashcode方法的目的是什么?

java - 用Java创建一个漂亮的 ListView

java - 向下转换为间接子类不起作用?

c++ - 为什么这会产生正确的输出?

c# - 可以在 C# 中跨多个对象锁定工作吗?

锁定和 Redis

java - "realm"在客户端的 http basic/digest 认证中有什么用?