Capítulo 22. Programación paralela

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

En este capítulo, cubrimos las API multihilo y las construcciones destinadas a aprovechar los procesadores multinúcleo:

  • LINQ paralelo o PLINQ

  • La clase Parallel

  • Los constructos del paralelismo de tareas

  • Las colecciones concurrentes

Estas construcciones se conocen colectivamente (en sentido amplio) como Marco Paralelo (PFX). La clase Parallel junto con las construcciones de paralelismo de tareas se denomina Biblioteca Paralela de Tareas (TPL ).

Antes de leer este capítulo, tendrás que estar familiarizado con los fundamentos del Capítulo 14, en particular con el bloqueo, la seguridad de los hilos y la clase Task.

Nota

.NET ofrece una serie de API especializadas adicionales para ayudar con la programación paralela y asíncrona:

  • System.Threading.Channels.Channel es una cola productora/consumidora asíncrona de alto rendimiento, introducida en .NET Core 3.

  • Microsoft Dataflow (en el espacio de nombres System.Thread⁠ing.Tasks​.Dataflow ) es una sofisticada API para crear redes de bloques con búfer que ejecutan acciones o transformaciones de datos en paralelo, con un parecido a la programación actor/agente.

  • Las extensiones reactivas implementan LINQ sobre IObservable (una abstracción alternativa a IAsyncEnumerable) y destacan en la combinación de secuencias asíncronas. Las extensiones reactivas se distribuyen en el paquete NuGet System.Reactive ...

Get C# 12 en pocas palabras 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.