小弟初学多线程,望各位大哥多多帮忙
DWORD WINAPI Worker(LPVOID lpPara)
{
while(gcontinue){
WaitForSingleObject(gFullSemaphore,INFINITE);
WaitForSingleObject(gMutex,INFINITE);
Door();
Select();
Room1();
Room2();
//Doorout();
//Roomout();
ReleaseMutex(gMutex);
ReleaseSemaphore(gFullSemaphore,1,NULL);
}
return 0;}
其中Select()中调用了随机函数rand()
之前已经运行了指令
for(i=0;i<3;i++)
hThreads[i]=CreateThread(NULL,0,Worker,NULL,0,&WorkerID[i]);
initDlg函数中也已经加入了srand(time(0))
运行中发现3个进程中的随机数实际上是一样的。
例如连续的48,48,48,32532,32532,32532
求解,多谢