Streams Intermedio

Usa executors de hilos virtuales para concurrencia ligera ilimitada.

✕ Java 8
ExecutorService exec =
    Executors.newFixedThreadPool(10);
try {
    futures = tasks.stream()
        .map(t -> exec.submit(t))
        .toList();
} finally {
    exec.shutdown();
}
✓ Java 21+
try (var exec = Executors
        .newVirtualThreadPerTaskExecutor()) {
    var futures = tasks.stream()
        .map(exec::submit)
        .toList();
}
¿Ves un problema con este código? Cuéntanos.
♾️

Sin dimensionamiento

Sin tamaño de pool que ajustar — crea tantos hilos como necesites.

Ligero

Los hilos virtuales usan KB de memoria, no MB.

🧹

Auto-closeable

try-with-resources maneja el cierre automáticamente.

Enfoque Antiguo
Pool de hilos fijo
Enfoque Moderno
Executor de hilos virtuales
Desde JDK
21
Dificultad
Intermedio
Executor con hilos virtuales
Disponible

Ampliamente disponible desde JDK 21 LTS (sept. 2023)

El executor de hilos virtuales crea un nuevo hilo virtual para cada tarea. No es necesario dimensionar el pool — los hilos virtuales son lo suficientemente económicos para crear millones de ellos.

Compartir 𝕏 🦋 in