我想了解使用 InterlockedCompareExchange() 是否存在任何隐藏问题更改使用 CreateFileMapping(INVALID_HANDLE_VALUE 创建的段中的内存) 并在多个进程之间共享。
换句话说,进程是否可以依赖 CAS 语义来操作它们共享的内存块?我想他们可以,只是想确认一下。
谢谢
最佳答案
CAS 操作将与该内存完美配合。文件映射 API 和虚拟内存系统完成了将内存映射到多个进程的所有艰巨工作。当您接触到内存时,您已经无法将它与任何其他内存区分开来。
关于windows - 共享内存段中某个位置的原子比较和交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13711768/