Concurrency in C# Cookbook (Recetas de programación paralela en C#)
284 páginas
Spanish
PDF
4.5

Concurrency in C# Cookbook (Recetas de programación paralela en C#)

Concurrency in C# Cookbook (Recetas de programación paralela en C#)

Autor:

Año:

Resumen:

Introducción

El libro «Concurrency in C# Cookbook» (en español — «Recetas de programación paralela en C#») del autor Stephen Cleary es una de las mejores guías prácticas sobre programación asíncrona y paralela en el ecosistema .NET. Publicado en 2019 (segunda edición), es una colección de soluciones probadas para tareas típicas que enfrenta todo desarrollador de C# que trabaja con subprocesamiento múltiple, asincronía y paralelismo.

El libro está orientado a profesionales: no hay teoría excesiva, sino recetas claras y listas para aplicar. Cada receta contiene el planteamiento del problema, el código de la solución, explicaciones y advertencias. Esto lo convierte en una referencia indispensable para quienes desean escribir código eficiente, seguro y escalable en C#.

De qué trata este libro

El libro cubre todos los aspectos clave de la programación paralela en .NET, desde los fundamentos de async/await hasta temas avanzados como programación reactiva (Rx.NET), canales (Channels) y pruebas de código asíncrono. El libro tiene 15 capítulos, cada uno dedicado a un área específica:

  • Capítulo 1. Fundamentos de async/await — creación y espera de tareas, manejo de errores, cancelación de operaciones.
  • Capítulo 2. Flujos de datos (Dataflow) — biblioteca TPL Dataflow para construir canalizaciones de procesamiento de datos.
  • Capítulo 3. Programación reactiva (Rx) — trabajo con secuencias Observable.
  • Capítulo 4. Colecciones paralelas — ConcurrentDictionary, ConcurrentQueue y otras estructuras seguras para subprocesos.
  • Capítulo 5. Bloqueos y sincronización — SemaphoreSlim, ReaderWriterLockSlim, AsyncLock.
  • Capítulo 6. Canales (Channels) — nuevo mecanismo Productor/Consumidor en .NET Core.
  • Capítulo 7. Pruebas de código asíncrono — mocks, tiempos de espera, verificación de corrección.
  • Capítulo 8. Escenarios avanzados — flujos asíncronos (IAsyncEnumerable), ValueTask, ConfigureAwait.

Cada receta sigue un patrón único: problema → solución → discusión → advertencias. Esto permite encontrar rápidamente la respuesta deseada y aplicarla de inmediato en el proyecto.

Para quién es este libro

El libro está dirigido a desarrolladores de C# que ya tienen experiencia básica con el lenguaje y la plataforma .NET. Será útil para:

  • Desarrolladores backend que crean servicios de alta carga en ASP.NET Core.
  • Desarrolladores de aplicaciones de escritorio (WPF, WinForms) que desean evitar congelaciones de la interfaz de usuario.
  • Ingenieros que migran de .NET Framework a .NET Core/.NET 5+ para dominar enfoques modernos de asincronía.
  • Líderes de equipo y arquitectos que necesitan tomar decisiones sobre la selección de herramientas para procesamiento paralelo.

Los principiantes en programación asíncrona deberían leer primero los capítulos introductorios, pero en general el libro asume que el lector ya está familiarizado con los fundamentos de C#.

Qué aprenderá el lector

Después de estudiar el libro, podrá:

  • Usar correctamente async/await sin deadlocks ni race conditions.
  • Construir canalizaciones de procesamiento de datos con TPL Dataflow.
  • Trabajar con flujos reactivos (Rx.NET) para procesar eventos y datos en streaming.
  • Elegir la colección segura para subprocesos adecuada para una tarea específica.
  • Implementar bloqueos asíncronos y otros primitivos de sincronización.
  • Usar canales (Channels) para una comunicación eficiente entre productor y consumidor.
  • Escribir pruebas para código asíncrono con xUnit y Moq.
  • Comprender la diferencia entre Task, ValueTask, IAsyncEnumerable y elegir el tipo óptimo.

Fortalezas del libro

Recommendations