Le moniteur suivant protège la lecture d'une variable a non initialisée.
sync : moniteur; | processus P
var fait : boolean; | debut
fini : condition; | ecrire(a);
procedure finEcrire; | sync.finEcrire;
debut | fin
fait := vrai; |
fini.signaler | processus Q
fin | debut
procedure debutLire; | sync.debutLire;
debut | lire(a);
si (non fait) alors | fin
fini.attendre
fin
procedure init;
debut
fait := faux
fin