Concurrencia en C++: Multihilo, Asincronía y Paralelismo
300 páginas
Spanish
PDF
4.5

Concurrencia en C++: Multihilo, Asincronía y Paralelismo

Concurrencia en C++: Multihilo, Asincronía y Paralelismo

Autor:

Año:

Resumen:

Los procesadores modernos tienen varios núcleos, y para aprovechar toda su potencia, es necesario saber escribir código concurrente. El libro «Concurrencia en C++» es una guía exhaustiva que le ayudará a dominar todos los aspectos de la programación paralela en el lenguaje C++: desde hilos básicos hasta patrones complejos de sincronización.



El libro comienza con los fundamentos: aprenderá a crear y gestionar hilos con la biblioteca estándar (std::thread), a proteger datos compartidos con mutex (std::mutex) y a evitar bloqueos mutuos. Se presta especial atención a las herramientas modernas de C++11/14/17/20, como std::async, std::future, std::promise y std::packaged_task, que permiten escribir código asíncrono sin gestión manual de hilos.



También conocerá el modelo de memoria de C++ (memory model), las operaciones atómicas (std::atomic) y las barreras de memoria; estos temas son críticamente importantes para crear algoritmos concurrentes correctos y eficientes. Un capítulo aparte está dedicado a los patrones de diseño para aplicaciones multihilo: thread pool, productor-consumidor, readers-writers lock y otros.



La parte práctica del libro incluye el análisis de ejemplos reales: procesamiento paralelo de datos, colas concurrentes, estructuras de datos lock-free y optimización del rendimiento. Aprenderá a identificar y corregir errores típicos: condiciones de carrera (data races), deadlocks, false sharing y problemas de caché.



Para quién es este libro:

  • Desarrolladores de C++ que quieran escribir aplicaciones multihilo rápidas
  • Programadores que migran de proyectos monohilo a concurrentes
  • Especialistas que se preparan para entrevistas donde preguntan sobre multihilo
  • Todos los que quieran entender cómo funciona el paralelismo a nivel de sistema


Qué aprenderá:

  • Cómo crear y sincronizar hilos en C++
  • Cómo usar std::async, std::future y std::promise para tareas asíncronas
  • Cómo funciona el modelo de memoria de C++ y las operaciones atómicas
  • Cómo diseñar clases y contenedores thread-safe
  • Cómo evitar deadlocks, condiciones de carrera y otros problemas
  • Cómo perfilar y optimizar código concurrente
  • Cómo aplicar algoritmos lock-free y wait-free


El libro contiene numerosos ejemplos de código que puede aplicar inmediatamente en sus proyectos. Todos los ejemplos están probados con GCC, Clang y MSVC. Después de leerlo, podrá escribir con confianza programas concurrentes que utilicen eficientemente procesadores multinúcleo y funcionen sin errores.



No es teoría árida, sino una guía práctica basada en la experiencia de muchos años del autor. Obtendrá una comprensión profunda de cómo funciona la concurrencia en C++ y aprenderá a aplicar estos conocimientos en la práctica.

Recommendations