首页 > 代码库 > 火车站售票系统模拟程序
火车站售票系统模拟程序
#include<windows.h>
#include<iostream.h>
DWORD WINAPI fun1proc(LPVOID lparameter);
DWORD WINAPI fun2proc(LPVOID lparameter);
int index=0;
int tickets=100;
HANDLE hmutex; //定义互斥对象句柄
int main()
{
HANDLE ht1; //线程一句柄
HANDLE ht2; //线程二句柄
ht1=CreateThread(NULL,0,fun1proc,NULL,0,NULL); //创建线程一,(NULL(默认安全性),初始宅大小,入口函数,传递参数,0(创建线程立即运行),接收线程的ID)
ht2=CreateThread(NULL,0,fun2proc,NULL,0,NULL);//创建线程二
CloseHandle(ht1);
CloseHandle(ht2);
hmutex=CreateMutex(NULL,FALSE,NULL); //创建互斥对象,(NULL(默认安全性),互斥对象的拥有者,互斥对象的名称(NULL是匿名))
Sleep(4000); //等待
return 0;
}
DWORD WINAPI fun1proc(LPVOID lparameter) //线程一
{
while(1)
{
WaitForSingleObject(hmutex,INFINITE); (互斥对象的句柄,等待时间)
if(tickets>0)
{
Sleep(1);
cout<<"线程一卖出一张票:"<<tickets--<<endl;
}
else
{
break;
}
ReleaseMutex(hmutex); //释放互斥对象
}
return 0;
}
DWORD WINAPI fun2proc(LPVOID lparameter) //线程二
{
while(1)
{
WaitForSingleObject(hmutex,INFINITE);
if(tickets>0)
{
Sleep(1);
cout<<"线程二卖出一张票:"<<tickets--<<endl;
}
else
{
break;
}
ReleaseMutex(hmutex);
}
return 0;
}
#include<iostream.h>
DWORD WINAPI fun1proc(LPVOID lparameter);
DWORD WINAPI fun2proc(LPVOID lparameter);
int index=0;
int tickets=100;
HANDLE hmutex; //定义互斥对象句柄
int main()
{
HANDLE ht1; //线程一句柄
HANDLE ht2; //线程二句柄
ht1=CreateThread(NULL,0,fun1proc,NULL,0,NULL); //创建线程一,(NULL(默认安全性),初始宅大小,入口函数,传递参数,0(创建线程立即运行),接收线程的ID)
ht2=CreateThread(NULL,0,fun2proc,NULL,0,NULL);//创建线程二
CloseHandle(ht1);
CloseHandle(ht2);
hmutex=CreateMutex(NULL,FALSE,NULL); //创建互斥对象,(NULL(默认安全性),互斥对象的拥有者,互斥对象的名称(NULL是匿名))
Sleep(4000); //等待
return 0;
}
DWORD WINAPI fun1proc(LPVOID lparameter) //线程一
{
while(1)
{
WaitForSingleObject(hmutex,INFINITE); (互斥对象的句柄,等待时间)
if(tickets>0)
{
Sleep(1);
cout<<"线程一卖出一张票:"<<tickets--<<endl;
}
else
{
break;
}
ReleaseMutex(hmutex); //释放互斥对象
}
return 0;
}
DWORD WINAPI fun2proc(LPVOID lparameter) //线程二
{
while(1)
{
WaitForSingleObject(hmutex,INFINITE);
if(tickets>0)
{
Sleep(1);
cout<<"线程二卖出一张票:"<<tickets--<<endl;
}
else
{
break;
}
ReleaseMutex(hmutex);
}
return 0;
}
火车站售票系统模拟程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。