CreateThread
来源:互联网 发布:深入浅出mysql微盘 编辑:程序博客网 时间:2024/05/16 16:55
DWORD WINAPI ThreadProc_1(LPVOID lpParameter);
DWORD WINAPI ThreadProc_2(LPVOID lpParameter);
int tickets = 100;
HANDLE hMutex;
int main()
{
HANDLE hThread1;
HANDLE hThread2;
hThread1 = CreateThread(NULL,0,ThreadProc_1,NULL,0,NULL);
hThread2 = CreateThread(NULL,0,ThreadProc_2,NULL,0,NULL);
CloseHandle(hThread1);
CloseHandle(hThread2);
hMutex = CreateMutex(NULL,FALSE,NULL);
Sleep(4000);
return 0;
}
DWORD WINAPI ThreadProc_1(LPVOID lpParameter)
{
DWORD result1;
while(TRUE)
{
result1 = WaitForSingleObject(hMutex,INFINITE);
if(tickets && result1 == WAIT_OBJECT_0)
{
cout <<"Thread1 sells ticket:" <<tickets-- <<endl;
}
else
{
break;
}
ReleaseMutex(hMutex);
}
return 0;
}
DWORD WINAPI ThreadProc_2(LPVOID lpParameter)
{
DWORD result2;
while(TRUE)
{
result2 = WaitForSingleObject(hMutex,INFINITE);
if(tickets && result2 == WAIT_OBJECT_0)
{
cout <<"Thread2 sells ticket:" <<tickets-- <<endl;
}
else
{
break;
}
ReleaseMutex(hMutex);
}
return 0;
}
- CreateThread
- CreateThread
- CreateThread
- CreateThread
- CreateThread
- CreateThread
- CreateThread
- CreateThread()
- CreateThread
- CreateThread
- CreateThread
- CreateThread
- CreateThread
- CreateThread
- CreateThread
- CreateThread
- CreateThread
- CreateThread()
- nose测试技巧
- .net framework 1.1 登录验证码
- 程序员的十层楼
- JAVA中多接口应用技巧
- Hessian 客户端协议之Delphi实现--序篇(1)
- CreateThread
- 程序员的十层楼(4~5层)
- 自己设计了植提方面的网站
- 程序员的十层楼(6~7层)
- 程序员的十层楼(8~9层)
- 程序员的十层楼 10层(上)
- 如何反馈对象的某一处理过程的进度信息
- 程序员的十层楼 10层(下)
- Asp.net与SQL一起打包部署安装