debut tant que vrai faire debut tant que feu = rouge faire rien; feu := rouge; Section Critique; feu := vert; Section Non Critique fin finLes 2 processus peuvent être ensemble en S.C
debut tant que vrai faire debut Flag[i] := true; tant que Flag[j] faire rien; Section Critique; Flag[i] := false; Section Non Critique fin fin
Les 2 processus ne peuvent pas être ensemble en S.C
Il n'y a pas d'attente s'il n'y a pas de compétition.
Il y a possibilité d'attente infinie (famine).
la preuve est faite par la construction du graphe du comportement des deux processus.
debut tant que vrai faire debut tant que tour = j faire rien; Section Critique; tour := j ; Section Non Critique fin fin
2 processus ne peuvent pas être ensemble en S.C
Il n'y a pas d'attente infinie.
Il peut y avoir attente s'il n'y a pas de compétition. C'est un algorithme d'alternance (jeton).
debut tant que vrai faire debut Flag[i] := true; tour := i ; tant que (Flag[j] et tour = i) faire rien; Section Critique; Flag[i] := false; Section Non Critique fin finLa preuve sera faite en TD