Section critique
Fermé
nani1300
Messages postés
98
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
26 avril 2010
-
19 janv. 2009 à 22:02
solo - 20 mars 2010 à 15:59
solo - 20 mars 2010 à 15:59
A voir également:
- Section critique
- Calcul section poutre bois gratuit - Télécharger - Architecture & Déco
- Saut de section word - Guide
- Problème numérotation page word saut de section ✓ - Forum Word
- Lettre de motivation section sportive 6eme - Forum Études / Formation High-Tech
- Pagination continue avec changement de section ✓ - Forum Word
5 réponses
nani1300
Messages postés
98
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
26 avril 2010
3
19 janv. 2009 à 22:15
19 janv. 2009 à 22:15
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.
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
20 janv. 2009 à 01:48
20 janv. 2009 à 01:48
Et pour ce qui est du mot en lui-même: Mutex = Exclusion Mutuelle (Mutual Exclusion).
nani1300
Messages postés
98
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
26 avril 2010
3
20 janv. 2009 à 21:03
20 janv. 2009 à 21:03
merci bcp
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.