C++ 多线程简单demo
来源:互联网 发布:编程达人 编辑:程序博客网 时间:2024/06/04 19:15
//这是2个线程模拟卖火车票的小程序#include <windows.h>#include <iostream>using namespace std;DWORD WINAPI Fun1Proc(LPVOID lpParameter);//thread dataDWORD WINAPI Fun2Proc(LPVOID lpParameter);//thread dataint index=0;int tickets=10;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,"tickets");if (hMutex){if (ERROR_ALREADY_EXISTS==GetLastError()){cout<<"only one instance can run!"<<endl;return;}}WaitForSingleObject(hMutex,INFINITE);ReleaseMutex(hMutex);ReleaseMutex(hMutex);Sleep(4000);}//线程1的入口函数DWORD WINAPI Fun1Proc(LPVOID lpParameter)//thread data{while (true){ReleaseMutex(hMutex);WaitForSingleObject(hMutex,INFINITE);if (tickets>0){Sleep(1);cout<<"thread1 sell ticket :"<<tickets--<<endl;}elsebreak;ReleaseMutex(hMutex);}return 0;}//线程2的入口函数DWORD WINAPI Fun2Proc(LPVOID lpParameter)//thread data{while (true){ReleaseMutex(hMutex);WaitForSingleObject(hMutex,INFINITE);if (tickets>0){Sleep(1);cout<<"thread2 sell ticket :"<<tickets--<<endl;}elsebreak;ReleaseMutex(hMutex);}return 0;}
0 0
- C++ 多线程简单demo
- java多线程简单demo
- C#简单多线程Demo
- java多线程简单demo
- python 多线程简单demo
- Android简单多线程下载Demo
- JAVA多线程死锁简单Demo
- windows下多线程简单demo
- c#:简单WCF demo
- Java 多线程IO简单实用Demo
- 第四章Linux多线程简单Demo
- 多线程间共享数据,简单Demo
- 【多线程】一个简单的线程池Demo
- C - 多线程(简单):
- windows下C语言多线程编程Demo
- Java多线程____一个简单的多线程demo
- 【C#】最简单的写日志DEMO
- 关于Lua调用C的简单demo
- Types of Layers (层的类型)
- catalog下添加ArcServer报“参数错误”错误
- C++ primer 第五版 中文版 练习 9.51 个人code
- 如果你的CRM系统没有结合使用任务管理您的系统将故障
- NYOJ-爱摘苹果的小明
- C++ 多线程简单demo
- Delphi Xe DataSnap Rest + Flex 开发 基本探索5(Rest 服务参数传递)
- 肉桂卷,乳腺癌和您的业务 - 如何做的好可以拓展您的业务
- bzoj1500(妥妥的splay模板题)
- 获取Textview的宽度 (在没有显示前)
- 不错的Spring学习笔记(转)
- 高考改革启动:高中不再分文理
- Android xxx is not translated in yyy, zzz 的解决方法
- Windows下将GlassFish V4安装成系统服务