Ejercicio 7

Ejercicio 7

de Ezequiel Gadea Lucas -
Número de respuestas: 3

Buenas, tengo una duda sobre el uso de mailboxes para problemas del estilo: varios consumidores se comunican con un solo servidor.

Mi problema es que no entiendo cómo sincronizar la recepción de la respuesta del servidor hacia el consumidor correcto. Entiendo que varias veces la letra acota de alguna otra manera la cantidad de consumidores, como por ejemplo que solo caben  n en un predio.

Cuando intenté resolver el ejercicio 7 del práctico 4 me encontré con este problema, pero la letra no acota la cantidad de votantes o delegados que esta en la fila esperando para que su documento sea validado. Una sección de mi código para ambos, votantes y delegados, es:

send(filaSobre, documento)
receive(autorizacion, autorizado)

Donde el primero envia el documento hacia la mesa y el otro recibe la decision de la mesa. Si bien el receive() se hace en orden, si pierdo la CPU en el medio se arruina la cola de recepcion.

Mi duda es cómo resolver esta situacion (y cualquier otro pique que quieran compartir).

En respuesta a Ezequiel Gadea Lucas

Re: Ejercicio 7

de Santiago Freire Lopez -
Hola Ezequiel,
 
Dónde esperan los votantes y delegados a que los atienda la mesa de votación? Tu solución preserva el orden de entrada? En caso que no, quizás el agregar una fila de espera para entregar el documento y recibir la confirmación, y hacer que pasen de a uno, soluciona el problema.

Saludos,
Santiago.
En respuesta a Santiago Freire Lopez

Re: Ejercicio 7

de Ezequiel Gadea Lucas -
Hola Santiago,

Mi solución tiene la cola de espera para que los votantes y delegados sean atendidos por la mesa, mi problema está en cómo sincronizar la decisión que tomó la mesa sobre autorizado o no autorizado, con el votante o delegado que esta en el frente de la fila.