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

164
Views
La forma más eficiente de transmitir en la lista de futuros

Estoy llamando a un método de cliente asíncrono transmitiendo una lista de objetos. El método devuelve Future.

¿Cuál es la mejor manera de iterar sobre la lista de futuros devueltos después de la llamada (para procesar los futuros que vienen primero)?

Nota: El cliente asíncrono solo devuelve Futuro, no CompletableFuture.

El siguiente es el código:

 List<Future<Object>> listOfFuture = objectsToProcess.parallelStream() .map((object) -> { /* calling an async client returning a Future<Object> */ }) .collect(Collectors.toList());
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Teniendo esta lista de List<Future<Object>> , la enviaría a un grupo personalizado, en lugar de usar el procesamiento paralelo de flujo predeterminado.

Esto se debe a que la API de transmisión usa un grupo común para el procesamiento paralelo y llamará get esos futuros (si el procesamiento lleva mucho tiempo); bloqueará todas las demás operaciones de transmisión que usan operaciones paralelas dentro de su aplicación hasta que finalice esta. .

Esto sería un poco como esto:

 forJoinPool.submit( () -> list.stream().parallel().map(future -> future.get()).collect(Collectors.toList())).get();

Iría con un grupo personalizado como el que se muestraaquí

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!