next up previous contents
suivant: Une solution au problème monter: Les sémaphores : Dijkstra précédent: Les sémaphores : Dijkstra   Table des matières

Définition

Une structure de données
type semaphore = (n : entier; l : liste de processus);
manipulée uniquement par les actions atomiques wait et signal.
procedure wait(var S : semaphore)         procedure signal(var S : semaphore)
debut                                     debut
S.n := S.n - 1;                           S.n := S.n + 1;
si (S.n < 0) alors debut                  si (S.n <= 0) alors debut
        ajouter(moi,S.l);                         enlever(P,S.l);
        block;                                    wakeup(P);
        fin                                       fin
fin                                       fin



Alain Griffault 2003-05-07