显然,可以使用比较和交换指令以原子方式递增两个整数.这个谈话声称存在这样的算法,但它没有详细说明它的样子.
如何才能做到这一点?
(注意,一个接一个地递增整数的明显解决方案不是原子的.另外,将多个整数填充到一个机器字中并不算数,因为它会限制可能的范围.)
c concurrency multithreading atomic compare-and-swap
atomic ×1
c ×1
compare-and-swap ×1
concurrency ×1
multithreading ×1