Consulta sobre el signal

Consulta sobre el signal

de Matteo Guerrieri Garcia -
Número de respuestas: 1

Buenas, 

Tengo una consulta respecto al signal de una condition.

Supongamos que tengo 2 procesos bloqueados en una condition x. Cuando otro 3er proceso hace x.signal(), uno de esos procesos necesariamente comienza a ejecutar enseguida, o pasa a la cola de procesos listos, y queda a disposición del planificador si comienza a ejecutar o no?

Gracias,

Matteo.

En respuesta a Matteo Guerrieri Garcia

Re: Consulta sobre el signal

de Jorge Merlino -

En general nunca hay ninguna garantía de que un proceso que se despierte empiece a ejecutar inmediatamente. Siempre lo que se hace es cambiarle el estado a listo y luego depende del planificador cuando se va a ejecutar.

Aparte de esto, para el caso de los monitores, depende de la implementación del monitor lo que se hace al hacer un signal. Fijate la diapositiva 8 y siguientes de la clase de monitores.