Es el primer algoritmo conocido que soluciona el problema de la sección crítica para n procesos, con un límite de n-1 turnos.Todos los procesos comparten las siguientes variables, siendo n el número de hebras.
A la variable turno se le asigna aleatoriamente un valor entre 0 y n-1 al inicio del algoritmo.
La variable flags (bandera) de cada hilo se pone en estado ESPERANDO cada vez que tiene intención de entrar en la sección crítica.
La variable flags es inicializada en IDLE (inactivo).