All pastes #502431 Raw Edit

Someone

public text v1 · immutable
·published 2007-05-22 14:50 UTC
rendered paste body


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)