1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hTread[3];
unsigned long ThreadId;
cout << "\n\n\ncreation de mutex(CreateMutex)\n" << endl;
mut=CreateMutex(NULL,FALSE,(LPCWSTR)"mutex");
cout << "main: creation de 1 threads (CreateThread) avec mutex\n" << endl;
hThread[0] = CreateThread(NULL,NULL,Thread_mutex1,NULL, NULL, &ThreadId);
cout << "ID1 : " << ThreadId << "\n" << endl;
cout << "main: creation de 2 threads (CreateThread) avec mutex\n" << endl;
hThread[1] = CreateThread(NULL,NULL,Thread_mutex2,NULL, NULL, &ThreadId);
cout << "ID2 : " << ThreadId << "\n" << endl;
cout << "main: creation de 3 threads (CreateThread) avec mutex\n" << endl;
hThread[2] = CreateThread(NULL,NULL,Thread_mutex3,NULL, NULL, &ThreadId);
cout << "ID3 : " << ThreadId << "\n" << endl;
cout << "attente de tout les threads (WaitForMultipleObjects)\n" << endl;
WaitForMultipleObjects(3, hThread, TRUE, INFINITE);
cout << "fermeture mutex(CloseHandle)\n" << endl;
CloseHandle(mut);
cout << "fin" << endl;
system ("pause");
return 0;
} |
Partager