这是一个 临界区的火车票系统 可以通过编译 但是不能运行 哪位大虾帮帮忙。谢过
#include<windows.h>
#include<iostream.h>
DWORD WINAPI fang1proc(
LPVOID lpParameter // thread data
);
DWORD WINAPI fang2proc(
LPVOID lpParameter // thread data
);
int ticket=100;
LPCRITICAL_SECTION mg_cr;
void main()
{
HANDLE yifan1;
HANDLE yifan2;
yifan1=CreateThread(NULL,0,fang1proc,NULL,0,NULL);
yifan2=CreateThread(NULL,0,fang2proc,NULL,0,NULL);
CloseHandle(yifan1);
CloseHandle(yifan2);
InitializeCriticalSection(mg_cr);
Sleep(4000);
DeleteCriticalSection(mg_cr);
}
DWORD WINAPI fang1proc(
LPVOID lpParameter // thread data
)
{
while(TRUE)
{
EnterCriticalSection(mg_cr);
if(ticket>0) //关键代码段
{
Sleep(1);
cout<<"thread1 sell ticket:"<<ticket--<<endl;
}
else
{
break;
}
LeaveCriticalSection(mg_cr);
}
return 0;
}
DWORD WINAPI fang2proc(
LPVOID lpParameter // thread data
)
{
while(TRUE)
{
EnterCriticalSection(mg_cr);
if(ticket>0) //关键代码段
{
Sleep(1);
cout<<"thread2 sell ticket:"<<ticket--<<endl;
}
else
{
break;
}
LeaveCriticalSection(mg_cr);
}
cout<<"thread2 is runing"<<endl;
return 0;
}