Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

375
Vistas
Subprocesamiento múltiple de Java: ¿una buena manera de notificar a los subprocesos de consumo que todos los subprocesos de productor han terminado?

Estoy trabajando en un escenario de productor/consumidor bastante simple: tengo algunos subprocesos que entregan datos a un monitor y otros subprocesos que esperan datos en el monitor, los eliminan y entregan los datos a otro monitor. En un momento determinado, los productores habrán entregado todos sus últimos datos al monitor. Después de que los consumidores hayan consumido los últimos datos del monitor, se les debe indicar que no esperen más datos del monitor. Para que esto funcione como debería, los subprocesos del consumidor deben recibir una notificación cuando el último subproceso del productor haya producido su último bit de datos y no haya más datos vencidos. Estoy seguro de que hay varias maneras de hacer esto. A partir de ahora, el monitor cuenta el número de subprocesos de producción activos y, cuando finaliza un subproceso de producción, se lo indica al monitor. Tengo mucha curiosidad, aunque cuál sería el enfoque más elegante para esto.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Una solución simple es dejar que cada productor envíe una poison pill donde el consumidor llevaría un recuento de las píldoras venenosas recibidas hasta el momento y las compararía con el número de productores.

 class Consumer{ final int numOfProducers; int poisonPillsReceived; void run(){ while(true){ Object obj = queue.poll(); if(isPoisonPill(obj)){ poisonPillsReceived++; } if(numOfProducers == poisonPillsReceived){ break; }else{ .... } } } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda