Buenas, hay alguna sentencia en ADA para saber cuantas tareas (tamaño de la cola) tengo esperando por un encuentro?
En respuesta a Enrique Javier Cardozo Muraña
Re: ADA obtener cantidad de tareas esperando
de Gustavo Brown -
Si, podes usar Entrada'Count para saber cuantas tareas están esperando por un encuentro con una entrada dada.
Esa construcción es útil para utilizar dentro de un Select en una guarda, para determinar si abrir o cerrar una guarda dependiendo si hay encuentros pendientes en alguna entrada.
Normalmente se usa para implementar la prioridad.
Ejemplo: suponete que tenes dos entradas EntradaA y EntradaB y querés darle prioridad a EntradaA sobre EntradaB, entonces pondrías:
select
when EntradaA'count = 0 =>
accept EntradaB
......
or accept EntradaA
......
endSelect
En el ejemplo solamente dejas abierta EntradaB cuando, en el momento de evaluar las guardas, ninguna tarea quiere un encuentro con entradaA.
Saludos,
Gustavo
En respuesta a Gustavo Brown
Re: ADA obtener cantidad de tareas esperando
Barbaro!
Muchas gracias por la aclaracion, mas claro imposible.
Saludos