Объекты и функциональные возможности работы с потоками
Среда .NET Framework содержит объекты, которые могут помочь в создании и управлении многопоточными приложениями. Управляемые потоки представлены классом Thread. Класс ThreadPool предоставляет возможность простого создания и управления многопоточными фоновыми задачами. Класс BackgroundWorker делает то же самое для задач, которые взаимодействуют с пользовательским интерфейсом. Класс Timer выполняет фоновые задачи через определенные интервалы времени.
Кроме того, существует ряд классов, которые синхронизируют действия потоков, включая классы Semaphore и EventWaitHandle, появившиеся в .NET Framework версии 2.0. Сравнение возможностей этих классов приведено в разделе Обзор примитивов синхронизации.
В этом подразделе
Пул управляемых потоков
Описание класса ThreadPool , позволяющего выполнить задачу без вмешательства пользователя.таймеры
Описание способов применения объекта Timer для указания времени вызова делегата.Мониторы
Описание способов применения класса Monitor для синхронизации доступа к элементу и способов создания собственных типов управления потоками.Дескрипторы ожидания
Описание класса WaitHandle — абстрактного базового класса для дескрипторов ожидания события, мьютексов и семафоров, который включает ожидание для нескольких событий синхронизации.EventWaitHandle, AutoResetEvent, CountdownEvent и ManualResetEvent
Описание управляемых дескрипторов ожидания событий, которые используются для синхронизации действий потоков путем отправки и получения сигналов.Объекты Mutex
Описание способа применения объекта Mutex для синхронизации доступа к объекту, а также способов построения собственных механизмов синхронизации.Блокируемые операции
Описание способов применения класса Interlocked для увеличения или уменьшения значения и его сохранения в одной атомарной операции.Блокировки чтения и записи
Определение блокировки, реализующей семантики одного средства записи и нескольких средств чтения.Классы Semaphore и SemaphoreSlim
Описание объектов Semaphore и объяснение способа использования этих объектов для управления доступом ограниченных ресурсов.Обзор примитивов синхронизации
Сравнение функциональных возможностей классов .NET Framework, предоставляемых для блокировки и синхронизации управляемых потоков.Барьер (.NET Framework)
Описывает объекты Barrier, реализующие шаблон барьера для координации потоков в поэтапных операциях.SpinLock
Описывает класс SpinLock, облегченную альтернативу классу Monitor для определенных низкоуровневых сценариев.Токены отмены
Описывает CancellationToken, являющийся облегченным объектом, который можно использовать для реализации согласованной отмены между потоками.SpinWait
Описывает SpinWait, низкоуровневый примитив синхронизации, выполняющий цикличную работу в режиме занятости до инициирования ожидания ядра.
Ссылка
Thread
Справочная документация по классу Thread, который представляет управляемый поток, созданный неуправляемым кодом или в управляемом приложении.BackgroundWorker
Включение фоновых задач, взаимодействующих с пользовательским интерфейсом, работая с событиями, которые были созданы в потоке пользовательского интерфейса.
Связанные подразделы
Асинхронный файловый ввод-вывод
Описание использования группы потоков портами асинхронного завершения операций ввода-вывода для задания обработки только после завершения этих операций.Библиотека параллельных задач
Описывает рекомендуемый подход для многопоточного программирования в .NET Framework 4 и последующих версиях.