int
C11库和Linux上的GCC编译器对<stdatomic.h>
变量进行读写的最简单方法。如果我当前在线程中具有int
分配:messageBox[i] = 2
,如何使该分配成为原子?同样适用于阅读测试,例如if (messageBox[i] == 2)
。
[我从这里和这里的SO线程中了解到,不安全地假设多线程应用程序中的数据读/写在OS /硬件级别是原子的,并且损坏...
假设读取/写入数据并不安全。多线程应用程序在操作系统/硬件级别是原子的,并且可能会导致数据损坏
如果我当前在线程中有一个int赋值:messageBox [i] = 2,如何使该赋值原子化?同样适用于阅读测试,例如if(messageBox [i] == 2)。