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


Объекты и функциональные возможности работы с потоками

Обновлен: Ноябрь 2007

Среда .NET Framework содержит объекты, которые могут помочь в создании и управлении многопоточными приложениями. Управляемые потоки представлены классом Thread. Класс ThreadPool предоставляет возможность простого создания и управления многопоточными фоновыми задачами. Класс BackgroundWorker делает то же самое для задач, которые взаимодействуют с пользовательским интерфейсом. Класс Timer выполняет фоновые задачи через определенные интервалы времени.

Кроме того, существует ряд классов, которые синхронизируют действия потоков, включая классы Semaphore и EventWaitHandle, представленные в .NET Framework версии 2.0. Функциональные возможности этих классов сравниваются в разделе Обзор примитивов синхронизации.

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

  • Пул управляемых потоков
    Описание класса ThreadPool , позволяющего выполнить задачу без вмешательства пользователя.

  • Таймеры
    Описание способов применения объекта Timer для указания времени вызова делегата.

  • Мониторы
    Описание способов применения класса Monitor для синхронизации доступа к элементу и способов создания собственных типов управления потоками.

  • Дескрипторы ожидания
    Описание класса WaitHandle — абстрактного базового класса для дескрипторов ожидания события, мьютексов и семафоров, который включает ожидание для нескольких событий синхронизации.

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

  • Объекты Mutex
    Описание способа применения объекта Mutex для синхронизации доступа к объекту, а также способов построения собственных механизмов синхронизации.

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

  • Блокировки чтения и записи
    Определение блокировки, реализующей семантики одного средства записи и нескольких средств чтения.

  • Семафоры
    Описание объектов Semaphore и объяснение способа использования этих объектов для управления доступом ограниченных ресурсов.

  • Обзор примитивов синхронизации
    Сравнение функциональных возможностей классов .NET Framework, предоставляемых для блокировки и синхронизации управляемых потоков.

Ссылка

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

  • BackgroundWorker
    Включение фоновых задач, взаимодействующих с пользовательским интерфейсом, работая с событиями, которые были созданы в потоке пользовательского интерфейса.

Связанные подразделы

  • Асинхронный файловый ввод-вывод
    Описание использования группы потоков портами асинхронного завершения операций ввода-вывода для задания обработки только после завершения этих операций.