#define _AFXDLL
#include <afxmt.h>
#include <iostream>
using namespace std;
CMutex mutex(NULL, FALSE, NULL);
int tick = 0;
DWORD WINAPI Func1(LPVOID lpParam);//线程函数声明
DWORD WINAPI Func2(LPVOID lpParam);//线程函数声明
//线程函数实现
DWORD __stdcall Func1(LPVOID lpParam)
{
while (true)
{
mutex.Lock(INFINITE);//互斥对象锁定
if (tick < 100)
{
tick++;
cout << "线程函数Func1输出tick值:" << tick << endl;
mutex.Unlock();//互斥对象解锁
}
else {
mutex.Unlock();//互斥对象解锁
break;//跳出循环
}
}
return 0;
}
//线程函数实现
DWORD __stdcall Func2(LPVOID lpParam)
{
while (true)
{
mutex.Lock(INFINITE);//互斥对象锁定
if (tick < 100)
C++使用CMutex类的互诉锁实现线程同步
最新推荐文章于 2024-08-20 17:31:19 发布