Next: Concurrencia en memoria distribuida
Up: Patrones de diseño para
Previous: Mitad-síncrono, mitad-asíncrono
  Índice General
leader-followers
Se usa cuando una aplicación
- tiene que reaccionar a varios eventos a la vez y
- no es posible o conveniente inicializar cada vez un hilo para cada
evento
Ejemplos:
- procesamiento de transacciones en tiempo real
- colas de taxis en aeropuertos
Comportamiento exigido:
- se quiere una distribución rápida de los eventos a hilos ya
esperando
- se quiere garantizar acceso con exclusión mutua a los eventos
Posible solución:
- se usa un conjunto de hilos organizados en una cola
- el hilo al frente de la cola (llamado líder) procesa el siguiente
evento
- pero transforma primero el siguiente hilo en la cola en nuevo líder
- cuando el hilo ha terminado su trabajo se añade de nuevo a la
cola
Detalles de la implementación:
- se los eventos llegan más rápido que se pueden consumir con la
cola de hilos, hay que tomar medidas apropriadas
(por ejemplo, manejar los eventos en una cola, descartar eventos etc.)
- para aumentar la eficiencia de la implementación se puede implementar
la cola de hilos esperando como un pila
- el acceso a la cola de seguidores tiene que ser eficiente y robusto
Next: Concurrencia en memoria distribuida
Up: Patrones de diseño para
Previous: Mitad-síncrono, mitad-asíncrono
  Índice General
© 2005, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática