| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 |  
//Thread principal
//instancier un mutex buffer vide
MutexBufVide = CreateMutex(NULL, false, NULL);
//instancier un mutex buffer plein
MutexBufPlein = CreateMutex(NULL, true, NULL);
//instancier un thread consommateur
Consommateur = new ThreadConso(false);
//instancier un thread producteur
Producteur = new ThreadProducteur(false);
 
//Thread consommateur
//le consommateur attend que le mutex buffer plein soit libre
WaitForSingleObject(MutexBufPlein, INFINITE);
Form1->Memo1->Lines->Add("Le consommateur lit le buffer");
//relâcher le mutex MutexBufVide
ReleaseMutex(MutexBufVide);
 
//Thread producteur
WaitForSingleObject(MutexBufVide, INFINITE);
Form1->Memo1->Lines->Add("Le producteur écrit dans le buffer");
ReleaseMutex(MutexBufPlein); | 
Partager