windows 之互斥量----mutex

Posted liuruoqian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows 之互斥量----mutex相关的知识,希望对你有一定的参考价值。

CreateMutexA

CreateMutexExA

CreateMutexExW

CreateMutexW

 

可以用互斥量作为单实例应用控制,

如:

进程A创建互斥量Mutex,

启动进程B创建互斥量Mutex失败,这时候就不打开进程B而是打开进程A

 

 

HANDLE hMutex = ::CreateMutexW(NULL, FALSE, ptr);
if (hMutex == NULL)
{
  std::cout << "create mutex error with." << GetLastError() << std::endl;
}
else {
  std::cout << "create mutex successful." << std::endl;
}
if (ERROR_ALREADY_EXISTS == GetLastError())
{
  cout << "mutex has exists" << endl;
}
else
{
  cout << "create new muetex" << endl;
}

//记得创建完后释放互斥量.

CloseHandle(hMutex);

 

以上是关于windows 之互斥量----mutex的主要内容,如果未能解决你的问题,请参考以下文章

线程同步方式之互斥量Mutex

windows多线程 互斥量Mutex与关键段CriticalSection比较

韦东山freeRTOS系列教程之第七章互斥量(mutex)

Linux C 多线程编程之互斥锁与条件变量实例详解

相当于windows互斥量的boost

boost-同步-互斥量类型