fetch_and_store 操作是做什么的

What does fetch_and_store operation does

我有一个算法,里面有一个 fetch_and_store 操作。除了这一行:pred : ^qnode := I->prev := fetch_and_store (L, I),我在全球范围内都了解该算法。这就是 CLH 算法(用于并发编程)。有人可以帮助我理解这部分吗?

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

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