Les sémaphores

most27 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -  
most27 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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 71 Date d'inscription   Statut Membre Dernière intervention   1
 
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