我有一个关于线程的问题。通常情况下,当我们调用mutex(lock)时,这意味着该线程将继续执行代码的一部分,而不会被其他线程中断,直到它遇到mutex(unlock)(至少书上是这么说的)。所以我的问题是,是否实际上可能有几个作用域不相互干扰的WriteLocks。比如说:
如果我有一个包含N个元素的缓冲区,并且没有新元素添加进来,但是频繁更新(比如改变第K个元素的值),是否可以在每个元素上设置不同的锁,以便只有当实际上有两个或更多的线程尝试更新相同的元素时,线程才会停止并等待?
如果我有一个包含N个元素的缓冲区,并且没有新元素添加进来,但是频繁更新(比如改变第K个元素的值),是否可以在每个元素上设置不同的锁,以便只有当实际上有两个或更多的线程尝试更新相同的元素时,线程才会停止并等待?