标签: language-agnostic concurrency atomic atomicity
继续this question的评论中的讨论。
如果没有CAS操作,如何编写Spinlock?
正如另一个问题所述:
内存排序模型是写入将是原子的(如果两个并发线程同时写入一个内存位置,结果将是一个或另一个)。该平台不支持原子比较和设置操作。
答案 0 :(得分:2)
维基百科关于spinlock的文章说你必须使用像Peterson's algortihm这样的算法,它使用另一个标志来指示进入临界区的进程(如果需要)。