C++ 多线程 火车站售票
来源:互联网 发布:centos搭建lnmp 编辑:程序博客网 时间:2024/04/28 20:36
#include <windows.h>#include <iostream.h>DWORD WINAPI Fun1Proc( LPVOID lpParameter //thread data);DWORD WINAPI Fun2Proc( LPVOID lpParameter //thread data);int index = 0;int tickets = 100;HANDLE hMutex;void main(){ HANDLE hThread1; HANDLE hThread2; // 仅允许有一个实列运行 hMutex = CreateMutex(NULL, FALSE, "tickets"); if (hMutex){ DWORD dw = GetLastError(); if (ERROR_ALREADY_EXISTS == dw){ cout<<"only one instance can run!!"<<endl; return; } } // 创建线程 hThread1 = CreateThread(NULL,0,Fun1Proc, NULL, 0, NULL); hThread2 = CreateThread(NULL,0,Fun2Proc, NULL, 0, NULL); CloseHandle(hThread1); CloseHandle(hThread2); // 创建互斥对像 //hMutex = CreateMutex(NULL,TRUE,NULL); //WaitForSingleObject(hMutex,INFINITE); //ReleaseMutex(hMutex); //ReleaseMutex(hMutex); Sleep(4000);}//线程1入口DWORD WINAPI Fun1Proc(LPVOID lpParameter ){// WaitForSingleObject(hMutex,INFINITE);// cout<<"thread 1 run"<<endl;// return 0; //WaitForSingleObject(hMutex, INFINITE); while(TRUE){ // 无限等待 WaitForSingleObject(hMutex, INFINITE); if (tickets > 0){ //Sleep(20); cout<<"thread1 sell ticket:"<<tickets--<<endl; }else{ break; } // 释放对像 ReleaseMutex(hMutex); } //ReleaseMutex(hMutex); return 0;}//线程2入口DWORD WINAPI Fun2Proc(LPVOID lpParameter ){// WaitForSingleObject(hMutex,INFINITE);// cout<<"thread 2 run"<<endl;// return 0; while(TRUE){ WaitForSingleObject(hMutex, INFINITE); if (tickets > 0){ //Sleep(40); cout<<"thread2 sell ticket:"<<tickets--<<endl; }else{ break; } ReleaseMutex(hMutex); } return 0;}
阅读全文
0 0
- C++ 多线程 火车站售票
- 多线程模拟火车站售票
- 火车站售票程序(C语言)
- Java多线程应用之火车站售票
- 火车站售票
- 用JAVA的多线程实现火车站售票问题
- 用JAVA中的多线程示例火车站售票问题
- (面试)多线程模拟火车站窗口售票程序。
- windows多线程系列001 火车站售票系统模拟程序
- 运用多线程知识写一个火车站售票系统
- C多线程模拟售票
- C 多线程 售票系统
- 火车站售票时间
- 火车站售票系统模拟程序
- 多线程售票
- 编写一个 火车站卖票程序--3个窗口同时售票
- 创建两个线程模拟火车站两个窗口售票程序
- 创建两个线程模拟火车站两个窗口售票程序
- Maven Setting.xml文件配置详细说明
- DAY32继承组合应用、对象序列化和反序列化,选课系统综合示例
- 手把手教你实现一个无限循环的轮播控件
- 树状分词法
- Luogu 单词接龙
- C++ 多线程 火车站售票
- Predefined Shader preprocessor macros //预定义的着色器预处理宏
- spring读取jdbc.properties出现的问题
- Spark自带的集群模式(Standalone),Spark/Spark-ha集群搭建
- 【C++程序】[新手向]闹钟
- jsonp
- Java设计模式
- C/C++与Java二维数组的内存分配区别
- AndroidStudio统一管理依赖包