Someone
public text v1 · immutable
variable:
un mutex: m
deux condition: Ce Cl
deux compteur: Nbe=0 Nbl=0
debut_lire
prendre(m)
si Nbe>0
attendre(Cl,m)
Nbl++;
relacher(m)
fin_lire
prendre(m)
Nbl--;
Si (Nbl=0 ET Nbe>0)
Signal (Ce)
relacher(m)
debut_ecrire
prendre(m)
Nbe++
si Nbl>0
attendre(Ce,m)
relacher(m)
fin_ecrire
prendre(m)
Nbe--
Si (Nbe>0)
Signal(Ce)
Sinon
Signal(Cl)
relacher(m)