Algoritmo de dekker

Algoritmo de dekker

de Romina Sosa Nicolais -
Número de respuestas: 1

Buenas! Tenía una duda respecto al algoritmo de dekker para N procesos. En el caso de que el proceso que tiene el turno no tenga su bandera levantada y hayan otros procesos que levantan su bandera simultáneamente, no entrarían todos a la sección crítica? Ya que lo que se evalúa en el while es que la bandera del proceso que tiene el turno este levantada y al no cumplirse esta condición todos pasan a ejecutar el código a continuación. 

En respuesta a Romina Sosa Nicolais

Re: Algoritmo de dekker

de Jorge Merlino -
No, lo que pasa en ese caso es que no entra ninguno. En el primer while deberían verificar que no haya otro proceso con la bandera levantada y como habría más de uno pero no es el turno de ninguno de ellos quedarían esperando su turno. Al generalizar hay que agregar un chequeo de que si el turno no es de ninguno de los que tiene la bandera levantada el turno debería pasarse a alguno de ellos.