Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

382
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!