![]() |
1
4
当有一种方法可以在不损害数据完整性的情况下将高争用锁分为多个锁时,锁条带化非常有用。如果这是可能的或不应该采取一些想法,并不总是这样。数据结构也是决定的因素。因此,如果我们使用一个大数组来实现一个哈希表,那么对整个哈希表使用一个锁进行同步将导致线程按顺序访问数据结构。如果这是哈希表上的同一个位置,那么这是必要的,但是,如果它们正在访问表的两个极端呢。 使用锁条显然可以节省很多时间。多次运行 scenario 几乎一半的执行时间。 锁条带化的缺点是很难得到受条带化影响的数据结构的状态。在这个例子中,表的大小,或者试图列出/枚举整个表可能会很麻烦,因为我们需要获取所有的条带锁。 |
![]() |
a a · 为什么在这个可重入锁示例中需要引用计数? 2 年前 |
![]() |
JohnLBevan · 为什么原子语句上需要锁提示? 6 年前 |
![]() |
Jay Wang · 生产者/消费者实施:陷入消费者循环 6 年前 |
![]() |
Andremoniy · 悲观写入是否锁定整个表? 6 年前 |
![]() |
Marcus Cemes · 选择。。。用于更新在提交后选择旧数据 6 年前 |
![]() |
Ins0maniac · Rails,锁定数据库中的记录 7 年前 |