Hola!
- Refiriéndome a los procedimientos "endDescargar" y "endLlenar", veo que la prioridad para despertar al inspector se da porque se considera la condición de if prioridadInspector antes que considerar despertar a las máquinas, esto es así?
- Y respecto a esto, la semántica debería ser de Hansen? ya que si fuera de Mesa, si despierto al inspector, tal vez no ejecuta él y no logra activar la flag de prioridadInspector. Si fuera de Hansen, enseguida despierto al inspector ya ejecuta él y activa la flag. Es correcto?
- Volviendo a la sección de las condiciones para despertar en "endDescargar" y "endLlenar". Si la prioridad la define el orden en que despertamos a los procedimientos, cuando se considera primero un else if antes que el otro, no hay una prioridad entre despertar a las diferentes máquinas? Es decir, "endLlenar" chequea: else if (cantEsperaProd > 0), lo cual si se cumple la condición va a despertar a una máquina generadora, pero por qué no se considera antes el else if de cantEsperaEmb>0 en vez del otro? Supuse que iban a ser como prioridades cruzadas pero en ambos procedimientos se considera a los productores antes que los consumidores.