Duda teorica sobre ADA

Duda teorica sobre ADA

de Bruno Emanuel Gandos Telis -
Número de respuestas: 1

Hola, haciendo parciales me surgió la siguiente problemática y quería saber si el siguiente fragmento de código que se me ocurrió sería considerado como busy waiting:

task Body Empleado is 

var new_ide , ide : integer;

begin

         ide := -1;

         while (ide = -1) loop 

                 Pantalla.estacion_libre(ide);

         end loop

....


Pantalla es una task que tiene una entry estacion_libre(out ide : integer) que lo que hace es devolver el índice de una estación libre o -1 si no se encuentra. 

Me genera la duda si es un busy waiting ya que cuando la task empleado invoca a dicha entry se quedaría bloqueado hasta que sea aceptado. 

Muchas gracias.


En respuesta a Bruno Emanuel Gandos Telis

Re: Duda teorica sobre ADA

de Jorge Merlino -

Es busy waiting si estás gastando ciclos de CPU para chequear una condición en lugar de bloquearte hasta que se cumpla. Parecería que eso es lo que está haciendo ahí.

Saludos