Examen 5 de Febrero 2016 Problema 3

Re: Examen 5 de Febrero 2016 Problema 3

de Gustavo Brown -
Número de respuestas: 0

Dentro del select primero se evalúan las guardas para ver cuáles están abiertas. Luego de entre las abiertas que tienen algún encuentro pendiente se elige una entrada al azar y se acepta dicha entrada. Dentro de una misma entrada los pedidos de encuentro se encolan de forma FIFO.

Si luego de evaluar las guardas no hay ningúna abierta con encuentro pendiente, se queda esperando a que se realice un encuentro sobre una de las entradas abiertas (o eventualmente se sale por un OR DELAY xxx o por un ELSE)

La solución "resetea" el estado cuando se va el último hamster. Es decir que puede pasar lo que comentás (hay hamsters macho en el bebedero, llega un hamster hembra lo que hace que ya no puedan entrar más hamsters machos aunque haya alguno nuevo que quiera entrar, luego se van todos los hamsters machos y ahi puede entrar o bien una hembra o bien un macho, aunque este último macho haya llegado luego de la hembra). La letra no define ninguna prioridad en ese caso.

Podrias, si querés, modificar las guardas para darle prioridad al sexo opuesto al que había anteriormente cuando la cantidad de hamsters en el bebedero es cero.

Saludos,
  Gustavo