如何在不使用CAS的情况下编写自旋锁

时间:2010-05-02 21:02:28

标签: language-agnostic concurrency atomic atomicity

继续this question的评论中的讨论。

如果没有CAS操作,如何编写Spinlock?

正如另一个问题所述:

内存排序模型是写入将是原子的(如果两个并发线程同时写入一个内存位置,结果将是一个或另一个)。该平台不支持原子比较和设置操作。

1 个答案:

答案 0 :(得分:2)

维基百科关于spinlock的文章说你必须使用像Peterson's algortihm这样的算法,它使用另一个标志来指示进入临界区的进程(如果需要)。