关于thread(C++版)
来源:互联网 发布:php入门书籍 知乎 编辑:程序博客网 时间:2024/05/18 02:50
来自网络
//这是2个线程模拟卖火车票的小程序#include <windows.h>#include <iostream.h>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
- 关于thread(C++版)
- 关于Thread
- Thread(C#)
- c thread
- thread.c
- C# 关于Thread.join()的理解
- 关于线程(Thread)的几个问题
- 关于Thread.join( )方法
- 关于Windows Thread
- 关于Thread.IsAlive属性
- 关于Thread的一些
- 关于Thread.IsAlive属性
- 关于thread.getConextClassLoader()
- 关于thread中断问题
- 关于 java.lang.Thread
- 关于Thread.sleep(0)
- Thread 关于线程
- 关于Thread与Asynctask
- dts文件解析
- HDU 1032 The 3n + 1 problem
- pjsua帮助手册(中文)
- USBKey scsi
- Android 4.0 Contacts 首页(PeopleActivity)界面研究
- 关于thread(C++版)
- 练习,计算公式
- ‘svn’不是内部或外部命令,也不是可运行的程序
- 谈谈对hibernate的理解
- 正向代理与反向代理的区别【Nginx读书笔记】
- myeclipse10.05安装aptana (转)
- 关于将个人网站发布到互联网
- SSL/TLS协议运行机制的概述
- select语句结构与执行顺序