Поделиться через


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

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

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

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

Архитектура параллельного программирования .NET

Технология Описание
Библиотека параллельных задач (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.

См. также