Параллельное программирование в .NET. Руководство по документации

Многие персональные компьютеры и рабочие станции имеют несколько ядер ЦП, которые позволяют одновременно выполнять несколько потоков. Чтобы воспользоваться преимуществами оборудования, можно параллелизовать код для распределения работы между несколькими процессорами.

В прошлом распараллеливание требовало управления потоками и взаимоблокировками на низком уровне. Visual Studio и .NET обеспечивают расширенную поддержку параллельного программирования, предоставляя среду выполнения, типы библиотек классов и средства диагностики. Эти возможности, которые впервые появились в .NET Framework 4, упрощают параллельную разработку. Это позволяет разработчикам писать эффективный, детализированный и масштабируемый параллельный код с помощью естественных выразительных средств без необходимости непосредственной работы с потоками или пулом потоков.

На рисунке ниже представлен общий обзор архитектуры параллельного программирования в .NET.

.NET Parallel Programming Architecture

Технология Описание
Библиотека параллельных задач (TPL) Предоставляет документацию для класса System.Threading.Tasks.Parallel, который содержит параллельные версии цикла For, цикла ForEach; а также для класса System.Threading.Tasks.Task, который предоставляет предпочитаемый способ для выражения асинхронных операций.
Parallel LINQ (PLINQ) Параллельная реализация LINQ to Objects, которая значительно улучшает производительность во множестве сценариев.
Структуры данных для параллельного программирования Предоставляет ссылки на документацию для потокобезопасные классы коллекций, упрощенные типы синхронизации, типы для "ленивой" инициализации.
Средства диагностики параллельного выполнения Предоставляет ссылки на документацию для окон отладчика Visual Studio для задач и параллельных стеков, а также для Визуализатора параллелизма.
Пользовательские разделители для PLINQ и TPL Описывает работу модулей разделения, порядок настройки модулей разделения по умолчанию, порядок создания нового модуля разделения.
Планировщики задач Описывает порядок работы модуля планирования и порядок их настройки.
Лямбда-выражения в PLINQ и TPL Предоставляет краткие общие сведения по лямбда выражениям в C# и Visual Basic, показывает, как они используются в PLINQ и в библиотеке параллельных задач.
Дополнительные сведения Предоставляет ссылки на дополнительные сведения и примеры ресурсов для параллельного программирования с помощью .NET.

См. также