Windows的互斥锁Mutex是可以在进程间使用的,CreateMutex时可以指定一个mutex名称,此名称可以被其他进程或线程使用。CreateMutex的第二个参数BOOL bInitialOwner表示在创建后是不是立刻获取此锁,相当于立即WaitForSingleObject
测试代码:
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
HANDLE hmutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, TEXT("MutexTest"));//打开进程锁
if (hmutex == NULL)
{
cout<<"Create Mutex"<<endl;
hmutex = CreateMutex(NULL, false, TEXT("MutexTest"))