多线程模拟火车站售票
来源:互联网 发布:机械师软件 编辑:程序博客网 时间:2024/04/28 14:34
最近在学操作系统,多线程的小例子。网上搜的。。比较基础,学一下。
#include <iostream>#include <windows.h>using namespace std;HANDLE hMutex=NULL;int num=100;DWORD WINAPI Fun1(LPVOID lpParamter){ while(1) { WaitForSingleObject(hMutex,INFINITE); if(num>0) { Sleep(20); cout << "Thread 1 sell ticket : "<<num--<<endl; } else break; ReleaseMutex(hMutex); } return 0;}DWORD WINAPI Fun2(LPVOID lpParamter){ while(1) { WaitForSingleObject(hMutex,INFINITE); if(num>0) { Sleep(80); cout << "Thread 2 sell ticket : "<<num--<<endl; } else break; ReleaseMutex(hMutex); } return 0;}int main(){ HANDLE hThread_1 = CreateThread(NULL, 0, Fun1, NULL, 0, NULL); HANDLE hThread_2 = CreateThread(NULL, 0, Fun2, NULL, 0, NULL); CloseHandle(hThread_1); CloseHandle(hThread_2); hMutex=CreateMutex(NULL,FALSE,NULL); if (hMutex) { if (ERROR_ALREADY_EXISTS==GetLastError()) { cout<<"only one instance can run!"<<endl; return 0; } } WaitForSingleObject(hMutex,INFINITE); ReleaseMutex(hMutex); Sleep(6000);//合理控制时间,否则票还没卖完,主进程就结束了。 return 0;}
阅读全文
0 0
- 多线程模拟火车站售票
- C++ 多线程 火车站售票
- (面试)多线程模拟火车站窗口售票程序。
- windows多线程系列001 火车站售票系统模拟程序
- 火车站售票系统模拟程序
- Java多线程应用之火车站售票
- 火车站售票
- *多线程 模拟售票系统
- 模拟售票,学习多线程
- C多线程模拟售票
- java多线程模拟售票
- 创建两个线程模拟火车站两个窗口售票程序
- 创建两个线程模拟火车站两个窗口售票程序
- 《面试宝典》例题之模拟火车站售票程序
- 用JAVA的多线程实现火车站售票问题
- 用JAVA中的多线程示例火车站售票问题
- 运用多线程知识写一个火车站售票系统
- 火车站售票时间
- runtime 进行归档
- 通过virsh管理虚拟机
- java中的方法之new一个对象的时候JVM都做了那些事情
- 1.1 vue2.0jsonp获取数据
- 简单操作(二)
- 多线程模拟火车站售票
- linker command failed with exit code 1 (use -v to see invocation)
- 关于缓存中Session,Cache,cookie的区别
- Java锁的种类以及辨析(二):自旋锁的其他种类
- 9月28日云栖精选夜读:阿里云MaxCompute澳大利亚开服,“领跑”人工智能市场
- WRF参数化方案
- 684
- 线性筛选素数--python
- 将任意文件转化成16进制byte流,并将流打印到本地txt文档