Hola buenas tardes. Viendo el ejercicio 3 del parcial del 2022, plantee una respuesta un poco distinta a la dada en la solucion. Pero me quedaba la duda pues me daba cuenta de que si los 5 empleados entraban a la vez y perdian el procesador luego de chequear que su pedido era pesado, me originaba un deadlock en el caso de que los pedidos de los 5 fueran pesados. Entonces pense en agregar una condicion de que solo pudieran trabjar 4 a la vez, pero en realidad existe la posibilidad de que puedan trabajar 5 a la vez sin problemas. Para ver como lo habian resuelto ustedes vi la solucion y note que no chequean eso y si no me equivoco puede pasar lo mismo. Si hay 5 clientes que hacen pedidos pesados. Los 5 empleados pierden el procesador al hacer if(esPesado(p)), entonces todos entran al if y al subir la variable que lleva el conteo los otros ya estan dentro del if entonces se quedaran todos trancados en el receive(empleados_esperando_ayuda) indefinidamente.
Quisiera saber si estoy en lo correcto en dicho caso de deadlock o hay algun factor que no estoy considerando.
Saludos