fetch_and_store操作有什么作用

时间:2016-10-10 16:34:15

标签: algorithm memory concurrency lock-free

我有一个算法,里面有一个fetch_and_store操作。我全局了解除此行以外的算法:pred : ^qnode := I->prev := fetch_and_store (L, I)。这是CLH算法(用于并发编程)。有人可以帮助我理解这一部分。

算法:http://www.cs.rochester.edu/research/synchronization/pseudocode/ss.html#clh

1 个答案:

答案 0 :(得分:2)

fetch_and_store (L, I)原子地将I写入L并返回L的先前值。这确保了锁定节点仅与一个线程一起使用:线程将其用于处理并替换为其他节点。其他线程将采用我们放在这里的节点。