Concurrencia en C# (.NET): Asincronía, paralelismo y multihilo
300 páginas
Spanish
PDF
4.5

Concurrencia en C# (.NET): Asincronía, paralelismo y multihilo

Concurrencia en C# (.NET): Asincronía, paralelismo y multihilo

Autor:

Año:

Resumen:

Las aplicaciones modernas deben ser rápidas y receptivas. Los usuarios no perdonan los bloqueos, y los sistemas de servidor deben procesar miles de solicitudes simultáneamente. El libro «Concurrencia en C# (.NET)» es una guía completa sobre todos los aspectos de la programación paralela y asíncrona en la plataforma .NET, que te ayudará a pasar del código secuencial a soluciones concurrentes de alto rendimiento.



¿De qué trata este libro?

El libro está estructurado de lo simple a lo complejo y cubre todos los temas clave:

  • Fundamentos del multihilo: qué son los hilos, los grupos de hilos y cómo trabajar con ellos en .NET.
  • Programación asíncrona: inmersión profunda en el patrón async/await, Task y ValueTask, gestión del contexto de sincronización.
  • Task Parallel Library (TPL): bucles paralelos, tareas, clase Parallel y procesamiento eficiente de datos.
  • Sincronización y bloqueos: monitores, mutex, semáforos, ReaderWriterLockSlim y enfoques lock-free.
  • Colecciones seguras para hilos: ConcurrentDictionary, ConcurrentQueue, BlockingCollection y canales (Channels).
  • Manejo de errores y depuración: cómo capturar excepciones en código asíncrono, evitar deadlocks y race conditions.
  • Programación reactiva: introducción a Rx.NET y trabajo con flujos de eventos.
  • Técnicas avanzadas: Dataflow (TplDataflow), IAsyncEnumerable, paralelismo con Span y Memory.


¿Para quién es este libro?

El libro será útil para:

  • Desarrolladores de C# que quieran entender cómo escribir código asíncrono sin errores ni fugas.
  • Arquitectos de software que diseñen sistemas de alta carga en .NET.
  • Líderes de equipo que quieran implementar las mejores prácticas de concurrencia en sus equipos.
  • Estudiantes y juniors que deseen dominar uno de los temas más complejos de la programación.

Para la lectura se requiere un conocimiento sólido de la sintaxis de C# y una comprensión básica del funcionamiento del sistema operativo.



¿Qué aprenderás?

  • Cómo usar correctamente async/await para no bloquear la UI ni perjudicar el rendimiento del servidor.
  • Cómo paralelizar cálculos en procesadores multinúcleo usando TPL.
  • Cómo compartir datos de forma segura entre hilos sin riesgo de condiciones de carrera ni bloqueos mutuos.
  • Cómo probar y depurar código multihilo.
  • Cómo construir canalizaciones de procesamiento de datos con TPL Dataflow.
  • Cómo evitar antipatrones típicos (por ejemplo, «sync over async»).


Todos los ejemplos de código son válidos para .NET 8 y versiones posteriores, incluyendo .NET 9. El libro contiene numerosos ejercicios prácticos y soluciones listas que se pueden aplicar inmediatamente en proyectos reales. Independientemente de si escribes una aplicación de escritorio en WPF, un servicio web en ASP.NET Core o una función en la nube en Azure, los conocimientos de este libro te ayudarán a hacer tu código más rápido, estable y escalable.

Recommendations