标签: linux windows gcc atomic atomic-swap
MSDN表示,互锁函数提供了一种简单的机制,用于同步对多个线程共享的变量的访问。
如果变量位于进程的共享内存中,我不确定它们是否可以跨多个进程的线程工作。
与GNU GCC编译器内在类似:__sync_add_and_fetch和__sync_lock_test_and_set?
答案 0 :(得分:4)
这个问题基本上是针对两个不同答案的两个问题。
__sync_XXX
请参阅任何在线文档,例如this,其中描述了这些内置文件通常会发出完全屏障,甚至可以阻止处理器管道内的内部推测负载。所有多线程,多进程等共享内存都是安全的。
如果变量位于共享内存中,则不同进程的线程可以使用此机制
所以两个答案都是“是”。