Exemples
 
Place de parking
Programme principal
 {créer-semaphore(place,1);
  créer-processus(A, garer) ;
  créer-processus(B, garer);
  attendre-fin-processus;
  détruire-sémaphore(place);
}

Programme garer
 {P(place);
   se-garer;
    ...
   sortir-place();
   V(place);
    partir(); }

Exemple d'exécution:
     A exécute P(place): la valeur de place passe à 0 le P est passant.
     A se gare.
        interruption et changement de contexte
    B exécute P(place): la valeur de place passe à -1, B est donc bloqué et mis en file d'attente de place.
    A sort de la place
    A exécute V(place): place passe à 0 et B est sorti de la file d'attente, il devient prêt.
       interruption et changement de contexte

   B se gare
  ...


suivant        plan