线程同步之互斥量

1.互斥量

采用互斥对象机制。 只有拥有互斥对象的线程才有访问公共资源的权限,因为互斥对象只有一个,所以能保证公共资源不会同时被多个线程访问。互斥不仅能实现同一应用程序的公共资源安全共享,还能实现不同应用程序的公共资源安全共享。

2.使用

HANDLE hMutex;  //定义互斥对象句柄
hMutex = CreateMutex(NULL, false, "mutex");     //创建互斥对象
WaitForSingleObject(hMutex, INFINITE);
ReleaseMutex(hMutex);

3.实例

#include
#include
using namespace std;
 
int number = 1; //定义全局变量
HANDLE hMutex;  //定义互斥对象句柄
 
unsigned long __stdcall ThreadProc1(void* lp)
{
    while (number < 100)
    {
        WaitForSingleObject(hMutex, INFINITE);
        cout << "thread 1 :"<

4.结果输出

线程同步之互斥量_第1张图片

你可能感兴趣的:(c/c++,多线程)