#include <windows.h>
#include <iostream.h>
DWORD WINAPI Fun1Proc(LPVOID lpParameter);
DWORD WINAPI Fun2Proc(LPVOID lpParameter);
int index=0;
int tickets=100;
HANDLE hMutex;
void main()
{
HANDLE hThread1;
HANDLE hThread2;
hThread1 = CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);
hThread2 = CreateThread(NULL,0,Fun2Proc,NULL,0,NULL);
CloseHandle(hThread1);
CloseHandle(hThread2);
hMutex = CreateMutex(NULL,TRUE,"MyThread");
/*if(hMutex)
{
if(ERROR_ALREADY_EXISTS==GetLastError())
{
cout<<"only instance can run!"<<endl;
return ;
}
}*/
ReleaseMutex(hMutex);
Sleep(10000);
/*while(index++<1000)
cout<<"Main Thread is running"<<endl;
Sleep(20);*/
}
DWORD WINAPI Fun1Proc(LPVOID lpParameter)
{
/*while(index++<1000)
cout<<"Thread1 is running"<<endl;*/
while(TRUE)
{
WaitForSingleObject(hMutex,INFINITE);
if(tickets>0)
{
Sleep(1);
cout<<"thread1 sell tickets :"<<tickets--<<endl;
}
else
break;
ReleaseMutex(hMutex); //将线程id设为0
}
return 0;
}
DWORD WINAPI Fun2Proc(LPVOID lpParameter)
{
while(TRUE)
{
WaitForSingleObject(hMutex,INFINITE);
if(tickets> 0)
{
Sleep(1);
cout<<"thread2 sell tickets :"<<tickets--<<endl;
}
else
break;
ReleaseMutex(hMutex);
}
return 0;
}
Multhread.rar_互斥
版权申诉
130 浏览量
2022-09-22
18:45:00
上传
评论
收藏 1.16MB RAR 举报
钱亚锋
- 粉丝: 87
- 资源: 1万+
最新资源
- IMG_2976.jpg
- cesiumVersionChanges1.117
- MI4953-VB一款SOP8封装2个P-Channel场效应MOS管
- MI4946-VB一款SOP8封装2个N-Channel场效应MOS管
- MI4904-VB一款SOP8封装2个N-Channel场效应MOS管
- 企业数字化转型顶层设计与企业架构TOGAF 9.2
- 01-basic-sample-20220716164705
- Serial Port Utility(1).zip
- MI4825-VB一款SOP8封装P-Channel场效应MOS管
- 基于Django实现配置管理系统 资产管理系统源码+在线演示+运行说明.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈