Параллельное программирование в .NET Framework
Многие персональные компьютеры и рабочие станции имеют ЦП, содержащие два или четыре ядра, которые позволяют одновременно выполнять несколько потоков. В ближайшем будущем ожидается, что компьютеры будут иметь значительно больше ядер. Чтобы воспользоваться преимуществами существующего и будущего оборудования, можно распараллеливать код для распределения работы между несколькими процессорами. В прошлом распараллеливание требовало управления потоками и взаимоблокировками на низком уровне. Visual Studio 2010 и .NET Framework 4 улучают поддержка параллельного программирования, путем предоставления новой среды выполнения, новых типов библиотек класса и новых средств диагностики. Эти функциональные возможности упрощают параллельную разработку, что позволяет разработчикам писать эффективный, детализированный и масштабируемый параллельный код с помощью естественных выразительных средств без необходимости непосредственной работы с потоками или пулом потоков. На рисунке ниже представлен общий обзор архитектуры параллельного программирования в .NET Framework 4.
Связанные разделы
Технология |
Описание |
---|---|
Предоставляет документацию для класса System.Threading.Tasks.Parallel, который содержит параллельные версии цикла For, цикла ForEach; а также для класса System.Threading.Tasks.Task, который предоставляет предпочитаемый способ для выражения асинхронных операций. |
|
Параллельная реализация LINQ to Objects, которая значительно улучшает производительность во множестве сценариев. |
|
Предоставляет ссылки на документацию для потокобезопасные классы коллекций, упрощенные типы синхронизации, типы для "ленивой" инициализации. |
|
Предоставляет ссылки на документацию в окнах отладчика среды Visual Studio для задач, параллельных стеков, Визуализатор параллелизма, который состоит из набора представлений в профилировщике Visual Studio Application Lifecycle Management, используемого для отладки параллельного кода и настройки его производительности. |
|
Описывает работу модулей разделения, порядок настройки модулей разделения по умолчанию, порядок создания нового модуля разделения. |
|
Описывает роль класса System.Threading.Tasks.TaskFactory. |
|
Описывает порядок работы модуля планирования и порядок их настройки. |
|
Предоставляет краткие общие сведения по лямбда выражениям в C# и Visual Basic, показывает, как они используются в PLINQ и в библиотеке параллельных задач. |
|
Предоставляет ссылки на дополнительные ресурсы примеров и документации для параллельного программирования на платформе .NET Framework. |
|
Узел верхнего уровня для дополнительных разделов, например по параллельному программированию и потокам. |