Buenas, tengo una duda respecto a este ejercicio en la task Vendedor.
Cuando comienza el programa se realiza el for:
El cual entiendo yo que le asigna un id a cada vendedor. Una vez que se llama a la tarea vendedor, supongo recibe los cinco encuentros a set_id (id), los cuales asumo quedan encolados en el accept set_id ... y los va aceptando de a uno... Esto es así?
Luego en la task Vendedor se realiza...
Entonces, asumiendo que estoy en lo correcto con respecto a lo que que entiendo comente más arriba ...mi duda es si cuando se acepta el primer encuentro con id=1 (por ejemplo), hasta que no salga del accept, el procedimiento esta trancado allí.. una vez que sale del accept y realiza el end del accept de set_id... puede pasar que en ese instante de tiempo, se accepte otro encuentro para el id=2, y cuando el proceso al que se le asigno el id=1 vaya a ejecutar la linea de codigo "manejador_vendedores.vendedor_libre(id);" el valor de id se vea cambiado de 1 a 2 dado que vino otro proceso unos mili segundos antes que le asigno el identificador 2 a la variable local id, y como esa variable no esta mutuo-excluida se cambie su valor de id a 2, cuando en realidad tenia que ser 1, pero llego otro proceso unos milisegundos antes y le seteo el valor 2.
Espero se haya entendido mi duda. Gracias