Usamos una variable v que nos indicará cual de los dos procesos tiene su turno.
P0 P1
a: loop loop
b: non-critical section non-critical section
c: wait until v equals P0 wait until v equals P1
d: critical section using r critical section using r
e: set v to P1 set v to P0
f: endloop endloop