Duda solucion examen julio 2022

Duda solucion examen julio 2022

de Matias Borggio Reyes -
Número de respuestas: 1

Buenas, tengo una duda respecto a la solucion planteada. En iniciarCruce() no se deberia preguntar si no hay barcos esperando antes de llamar a barcosCruzando . s i g n al ( )(funcion que despierta al siguiente auto). Ya que algo que se me ocurre que podria pasar es que tengo dos autos esperando por que cruce un barco,cuando termina de cruzar el barco, despierta a un vehiculo. Este vehiculo mientras esta ejecutando i n i c i a r C r u c e ( ), llega un barco. En la solucion planteada,el vehiculo despertaria un nuevo vehiculo pero en realidad deberia despertar al barco que esta esperando ya que este tiene prioridad.

En respuesta a Matias Borggio Reyes

Re: Duda solucion examen julio 2022

de Jorge Merlino -

Se pregunta si hay barcos esperando al principio de iniciarCruce(). No tiene sentido volver a preguntar dentro de la misma función dado que el valor no pudo haber cambiado por definición del monitor.

Como siempre no se le puede dar prioridad a un proceso si el sistema no conoce su existencia. Se precisa que el barco ejecute iniciarCruceBarco() para saber que está esperando y poder darle prioridad.

Saludos