Programación Concurrente
Este libro es el resultado de recopilar los apuntes utilizados en el módulo Programación de Servicios y Procesos del Ciclo de Grado Superior en Desarrollo de Aplicaciones Multiplataforma. Se presenta como material de apoyo dirigido al alumnado o profesorado que imparta dicho módulo, aunque también resultará útil para aquellas personas interesadas en los fundamentos de la programación concurrente.
La programación concurrente permite resolver tareas complejas de manera eficiente gracias al uso de hilos o múltiples procesos. Este libro se centra principalmente en el uso de hilos en Java, profundizando en los problemas derivados de su uso y los mecanismos que proporciona el lenguaje para evitarlos. Uso de memoria compartida, condiciones de carrera, secciones críticas, mecanismos de exclusión mutua, monitores, uso de bloques y métodos sincronizados, sincronización de hilos y uso eficiente de hilos mediante thread pools son los principales contenidos.
Siguiendo el currículo del módulo, se incluye un anexo sobre sistemas multiproceso, gestión de procesos y programación multiproceso en lenguaje C.
Partiendo de que el lector tiene conocimientos básicos de programación, en el último anexo se recoge un breve resumen de la sintaxis y principales características de Java.
En total se incluyen más de 25 ejemplos cuyo código fuente se puede descargar desde la web del autor y más de 30 ejercicios prácticos.
Recursos
Ejemplos: Proyecto de IntelliJ IDEA con todos los ejemplos del libro.
Ejercicios por resolver: Proyecto de IntelliJ IDEA con la estructura de paquetes y plantillas de los ejercicios.