我是 Win32 编程的新手。我想在两个进程之间创建共享内存。我已经使用内存映射功能创建了共享内存。
我的结构看起来是这样的:
struct sharedMemory
{
int ans1;
int ans2;
BOOLEAN flag1;
};
现在我可以从不同的进程访问这个共享内存,但我对如何将锁应用到这个共享内存感到困惑,以便只有 1 个进程能够访问结构成员变量。
最佳答案
通过在调用 CreateMutex
时提供互斥锁名称,您将使互斥体对其他进程可见。
如果另一个进程将相同的名称传递给 CreateMutex
,它将获得现有的互斥量(而不是创建一个新的互斥量),然后可以将其用于进程间同步。
关于c++ - 如何确保一次只有一个进程访问共享内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12698731/