CreateMutex利用互斥对象实现线程同步实例 #include < windows.h > #include < iostream.h > DWORD WINAPI Fun1Proc(LPVOID lpParameter);DWORD WINAPI Fun2Proc(LPVOID lpParameter); int index = 0 ; int tickets = 100 ;HANDLE hMutex; void main() { HANDLE hThread1,hThread2; hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL); hThread2=CreateThread(NULL,0,Fun2Proc,NULL,0,NULL); CloseHandle(hThread1); CloseHandle(hThread2); hMutex=CreateMutex(NULL,FALSE,NULL); //TRUE代表主线程拥有互斥对象 但是主线程没有释放该对象 互斥对象谁拥有 谁释放 //FLASE代表当前没有线程拥有这个互斥对象 Sleep(4000);} DWORD WINAPI Fun1Proc(LPVOID lpParameter) { while (true) { WaitForSingleObject(hMutex,INFINITE); if (tickets>0) { cout<<"t1: "<<tickets--<<endl; } else { break; } ReleaseMutex(hMutex); } return 0;} DWORD WINAPI Fun2Proc(LPVOID lpParameter) { while (true) { WaitForSingleObject(hMutex,INFINITE); if (tickets>0) { cout<<"t2: "<<tickets--<<endl; } else { break; } ReleaseMutex(hMutex); } return 0;}