[Practico 6][Ejercicio 10]

Re: [Practico 6][Ejercicio 10]

de Federico Rivero -
Número de respuestas: 0
Hola!

La condición 'when cantPersonas == 0' está bien! Porque ahí si hay alguien adentro del baño no dejás pasar a la persona de mantenimiento. Lo que está mal es la primer parte de la condición: 'when llegoMantenimiento'count > 0', porque eso tiene el efecto que expliqué en el primer mensaje.

La prioridad está bien implementada y eso se controla en la guarda del accept entrar, donde escribiste 'when llegoMantenimiento´count == 0'. Eso funciona correctamente poque el flujo es: 1) personas entran al baño 2) llega el limpiador y se tranca porque su entry call está cerrada con la condición 'when cantPersonas == 0' 3) las personas adicionales que llegan al baño también se trancan porque el accept entrar está cerrada por la guarda 'when llegoMantenimiento´count == 0'. 

Luego de eso, el flujo va a ser que 1) las personas salen del baño 2) cuando no quede ninguno en el baño se va a cumplir la condición 'when cantPersonas == 0' y el limpiador va a poder entrar 3) cuando el limpiador salga del baño va a dejar entrar a personas adicionales. Es decir, funciona bien :)

Saludos,
Federico