Capítulo 9. Paralelismo y concurrencia

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Este capítulo aborda las cuestiones de la paralelización y la concurrencia en Java 8. Algunos de los conceptos se remontan a adiciones del lenguaje de versiones muy anteriores del lenguaje (especialmente el paquete java.util.concurrent añadido en Java 5), pero Java 8 añadió específicamente varias capacidades al lenguaje para ayudarte a operar a un nivel de abstracción superior.

Uno de los peligros de la paralelización y la concurrencia es que, cuando intentas hablar de ellas, alguien se preocupará mucho -y muy ruidosamente- por la distinción entre ambas palabras. Quitémonos eso de encima ahora mismo:

  • Laconcurrencia es cuando varias tareas pueden ejecutarse en periodos de tiempo que se solapan

  • El paralelismo es cuando varias tareas se ejecutan literalmente al mismo tiempo

Diseña para la concurrencia: la capacidad de descomponer tu problema en operaciones independientes que puedan ejecutarse simultáneamente, aunque no lo estén haciendo en ese momento. Una aplicación concurrente se compone de procesos que se ejecutan independientemente. Entonces puedes implementar las tareas concurrentes en paralelo, lo que puede mejorar o no el rendimiento, suponiendo que dispongas de varias unidades de procesamiento.1

¿Por qué la paralelización no ayudaría al rendimiento? Hay muchas razones, pero la paralelización en Java divide por defecto ...

Get Recetas Java modernas now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.