Les sémaphores

Fermé
most27 Messages postés 74 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 9 juillet 2016 - 26 déc. 2013 à 23:45
most27 Messages postés 74 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 9 juillet 2016 - 27 déc. 2013 à 20:09
Bonjour.
Je cherche a comprendre comment modéliser le probléme du "coiffeur endormi" avec les sémaphores ,je ne veut pas la solution car elle éxiste sur le net je veut juste comprendre le probléme voici l'énencé:
Soit un salon de coiffure avec un coiffeur, un fauteuil de coiffure et n chaises pour les clients qui attendent. En l'absence de clients, le coiffeur s'asseoir dans le fauteuil et s'endort. Le premier client qui arrive réveille le coiffeur. Les clients suivants doivent s'asseoir sur une chaise (s'il y en a de libres) ou partir (si toutes les chaises sont occupées).
J'ai pas compris pourquoi on doit métre 2 fonctions (une pour le coiffeur et l'autre pour le client)au lieu d'une seul .
Je vous remerci d'avence.

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
26 déc. 2013 à 23:53
Bonjour,

Plutôt que de te donner l'explication, je te retourne une question :
Et comment voudrais-tu le faire avec seulement une seule fonction ?

0
most27 Messages postés 74 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 9 juillet 2016 1
27 déc. 2013 à 20:09
En utilisant deux sémaphores coiffeure et mutex:
#define chaise 5
sémaphores coiffeur=1,mutex=1;
int nbrclients=0;
void fonction()
{wait(mutex)
nbrclients++;
if(nbrclients<=chaise) signal(mutex)
wait(coiffeur)
coupper-les-cheveau();
nbrclients--;
signal(coiffeur)
signal(mutex)}
0