Los Parallel Streams en Java son una extensión de la API de Streams introducida en Java 8 que permiten procesar colecciones de datos en paralelo, aprovechando múltiples núcleos del procesador. Son útiles para operaciones intensivas en grandes volúmenes de datos, pero requieren cuidado porque no siempre ofrecen mejoras de rendimiento. Dividen el trabajo en múltiples tareas que se ejecutan en paralelo usando el ForkJoinPool común de Java. Su objetivo es mejorar el rendimiento en operaciones sobre grandes colecciones, especialmente cuando las operaciones son independientes y no dependen del orden. Veamos el siguiente ejemplo con listas. ParallelStreamTest.java package main ; import java.util.List ; import java.util.Arrays ; public class ParallelStreamTest { public static void main (String [] args){ List < Integer > numeros = Arrays. asList ( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ); numeros. parallelStream () . filt...
Con Java 21 entra un nuevo concepto: hilos virtuales java ( Java Virtual Threads ). La cual es una nueva característica que nos permite crear miles o millones de hilos (tareas en paralelo). Los cuales se diferencian de los hilos comunes ( Platform Threads ) al no depender del sistema operativo , puesto que son virtuales. De estos se encargará la JVM. Al usar hilos virtuales ahorramos recursos del procesador y de memoria del sistema , sin importar si estamos creando y/o usando miles o millones. Los hilos virtuales son ideales para aplicaciones modernas donde se requiere esperar y recibir respuestas o acceder a bases de datos remotas, entre otras cosas. Además no impide usar los hilos comunes que dependen del sistema operativo. Observemos un ejemplo de uso de hilos virtuales. VirtualThreadsDemo.java package com.comunidad.demo; public class VirtualThreadsDemo { public static void main (String [] args) throws InterruptedException { // Crear un Virtual Th...