Основы управляемых потоков

Первые пять статей этого раздела помогут вам понять, в каких случаях уместно применять управляемые потоки, и предоставят описания их основных компонентов. Сведения о классах, которые предоставляют дополнительные возможности, вы найдете в статьях Объекты и функциональные возможности работы с потоками и Обзор примитивов синхронизации.

Остальные статьи этого раздела посвящены дополнительным возможностям, включая взаимодействие управляемых потоков с операционной системой Windows.

Примечание.

Начиная с .NET Framework 4, библиотека параллельных задач и PLINQ предоставляют интерфейсы API для поддержки параллелизма задач и данных в многопоточных программах. Дополнительные сведения см. в разделе Параллельное программирование.

В этом разделе

Потоки и работа с потоками
Преимущества и недостатки использования нескольких потоков, а также описание сценариев, в которых целесообразно создавать потоки или использовать пул потоков.

Исключения в управляемых потоках
Описание поведения необработанных исключений в потоках для разных версий .NET с особым вниманием к тем ситуациям, в которых они приведут к завершению работы приложения.

Синхронизация данных для многопоточности
Описание стратегий синхронизации данных в классах, которые следует применять при работе с несколькими потоками.

Основные и фоновые потоки
Описание различий между основными и фоновыми потоками.

Управляемые и неуправляемые потоки в Windows
Описание соотношений между управляемыми и неуправляемыми потоками, список управляемых эквивалентов для работы с API-интерфейсами потоков в Windows, описание взаимодействий между подразделениями COM и управляемыми потоками.

Локальное хранилище потока: статические поля потока и области данных
Описание механизмов хранения для отдельных потоков.

Справочные материалы

Thread Содержит справочную документацию для класса Thread , представляющего управляемый поток, независимо от того, был ли он получен из неуправляемого кода или был создан в управляемом приложении.

BackgroundWorker Предоставляет безопасный способ реализации многопоточных операций в сочетании с объектами пользовательского интерфейса.

Обзор примитивов синхронизации
Описание управляемых классов, которые применяются для синхронизации действий в нескольких потоках.

Рекомендации по работе с потоками
Описание распространенных проблем с многопоточностью и стратегий для предотвращения проблем.

Параллельное программирование
Описание библиотеки параллельных задач и PLINQ, которые существенно упрощают создание асинхронных и многопоточных приложений .NET.

Библиотека System.Threading.Channel
Описывает библиотеку System.Threading.Channel, которая предоставляет набор структур данных синхронизации для передачи данных между производителями и потребителями асинхронно.