Solución de OpenFing no es concurrente (?)

Solución de OpenFing no es concurrente (?)

de Jerónimo Ismael Acosta Monteavaro -
Número de respuestas: 1

Buenas. Me genera dudas la clase Práctico 6 Ejercicio 9 del curso Openfing práctico de 2021, especialmente la parte de la solución que se corresponde a esta premisa:

"Cuando llega un cliente le hace el pedido al vendedor y este consulta simultáneamente a los cinco empleados para ver si alguno está libre y es capaz de armar el helado solicitado".

En la solución presentada, esto se abarca de la siguiente manera:

-- (...)
for i=1 to 5 do
  select
    EMPLEADOS[i].PUEDE(MI_ID,P)
  else
-- (...)

Pero este código —a mi entender, dado lo previamente visto en el curso— no está resolviendo el problema de la forma en que se pide: está secuenciando (mediante el for) 5 selects distintos; está consultando a los empleados uno a uno. ¿Cómo se diferencia este for de aquellos que se indicó no debían utilizarse dentro del cuerpo de un cobegin-coend?

En respuesta a Jerónimo Ismael Acosta Monteavaro

Re: Solución de OpenFing no es concurrente (?)

de Jorge Merlino -

Claramente un solo vendedor no puede hacer más de una cosa a la vez porque es un proceso solo. La idea de ese ejercicio es que no se quede esperando por la respuesta de cada empleado sino que ellos evalúen simultáneamente si pueden o no.

Creo que eso está bastante bien explicado en el video. Hay casi media hora de video comentando la implementación del vendedor.

Saludos