A voir également:
- Section critique
- Mcafee alerte de virus critique - Accueil - Piratage
- Saut de section word - Guide
- Problème numérotation page word saut de section ✓ - Forum Word
- Saut de section excel ✓ - Forum Excel
- Télécharger livre maternelle grande section gratuit pdf - Télécharger - Éducatifs
5 réponses
une des sol de la section cirtique l'ahgo de coiffeur
soit le pgm siuvant
int nbClients = 0;
sem_t clients, coiffeur; /* Initialisés à 0 */
sem_t mutex; /* Initialisé à 1 */
void *threadClient(void *inutilise)
{
sem_wait(&mutex); /* Entrer dans la section critique */
if (nbClients == nbChaises + 1) { /* Si le salon est plein */
sem_post(&mutex); /* Sortir de la section critique */
return NULL; /* Sortir du salon */
} else {
nbClients = nbClients + 1; /* Un client de plus */
}
sem_post(&mutex); /* Sortir de la section critique */
sem_post(&clients); /* Se mettre dans la file */
sem_wait(&coiffeur); /* Attendre le coiffeur */
obtenirCoupe(); /* Se faire coiffer */
sem_wait(&mutex); /* Entrer dans la section critique */
nbClients = nbClients – 1; /* Un client de moins */
sem_post(&mutex); /* Sortir de la section critique */
return NULL; /* Sortir du salon */
}
#define VRAI 1
void *threadCoiffeur(void *inutilise)
{
while (VRAI) {
sem_wait(&clients);
sem_post(&coiffeur);
coiffer();
}
return NULL; /* Jamais atteint */
}
que ca veut dire mutex c'est 1 sémaphore ou non
soit le pgm siuvant
int nbClients = 0;
sem_t clients, coiffeur; /* Initialisés à 0 */
sem_t mutex; /* Initialisé à 1 */
void *threadClient(void *inutilise)
{
sem_wait(&mutex); /* Entrer dans la section critique */
if (nbClients == nbChaises + 1) { /* Si le salon est plein */
sem_post(&mutex); /* Sortir de la section critique */
return NULL; /* Sortir du salon */
} else {
nbClients = nbClients + 1; /* Un client de plus */
}
sem_post(&mutex); /* Sortir de la section critique */
sem_post(&clients); /* Se mettre dans la file */
sem_wait(&coiffeur); /* Attendre le coiffeur */
obtenirCoupe(); /* Se faire coiffer */
sem_wait(&mutex); /* Entrer dans la section critique */
nbClients = nbClients – 1; /* Un client de moins */
sem_post(&mutex); /* Sortir de la section critique */
return NULL; /* Sortir du salon */
}
#define VRAI 1
void *threadCoiffeur(void *inutilise)
{
while (VRAI) {
sem_wait(&clients);
sem_post(&coiffeur);
coiffer();
}
return NULL; /* Jamais atteint */
}
que ca veut dire mutex c'est 1 sémaphore ou non
N'hésitez pas à consulter un moteur de recherche. Pour le seul mot 'mutex', vous trouverez:
https://fr.wikipedia.org/wiki/Exclusion_mutuelle
http://www.siteduzero.com/tutoriel-3-3291-les-threads-et-les-mutex.html
https://mdalbin.developpez.com/tutoriels/general/semaphores/
https://docs.microsoft.com/fr-fr/dotnet/api/system.threading.mutex?redirectedfrom=MSDN&view=netframework-4.8
http://bribes.org/perl/docfr/win32mutex.html
http://www.alaide.com/dico.php?q=Mutex&ix=6423
... et beaucoup d'autres.
https://fr.wikipedia.org/wiki/Exclusion_mutuelle
http://www.siteduzero.com/tutoriel-3-3291-les-threads-et-les-mutex.html
https://mdalbin.developpez.com/tutoriels/general/semaphores/
https://docs.microsoft.com/fr-fr/dotnet/api/system.threading.mutex?redirectedfrom=MSDN&view=netframework-4.8
http://bribes.org/perl/docfr/win32mutex.html
http://www.alaide.com/dico.php?q=Mutex&ix=6423
... et beaucoup d'autres.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En programmation concurrente, une section critique est une portion de code dans laquelle il doit être garanti qu'il n'y aura jamais plus d'un thread simultanément. Il est nécessaire d'utiliser des sections critiques lorsqu'il y a accès à des ressources partagées par plusieurs thread.
Une section critique peut être protégée par un mutex, un sémaphore ou d'autres primitives de programmation concurrente.
Puisqu'à un moment donné, jamais plus d'un thread peut être actif dans une section critique, le thread la détenant doit la libérer le plus vite possible pour éviter qu'elle ne devienne un goulot d'étranglement. Libérer la section critique permet d'améliorer les performances en permettant aux threads en attente d'y accéder.
Une section critique peut être protégée par un mutex, un sémaphore ou d'autres primitives de programmation concurrente.
Puisqu'à un moment donné, jamais plus d'un thread peut être actif dans une section critique, le thread la détenant doit la libérer le plus vite possible pour éviter qu'elle ne devienne un goulot d'étranglement. Libérer la section critique permet d'améliorer les performances en permettant aux threads en attente d'y accéder.