| Тип | Описание |
|---|---|
| Interlocked | Предлагает атомарные операции для типов, открытых для множества потоков. |
| Monitor | Обеспечивает синхронизацию объектов потоков с помощью блокировок и ожиданий/сигналов, ключевое слово C# lock использует тип Monitor в фоновом режиме |
| Mutex | Примитив синхронизации, используемый для синхронизации взаимодействия между границами доменов приложения |
| ParameterizedThreadStart | Делегат (появившийся только в .NET 2.0), позволяющий потоку вызывать методы с любым числом аргументов |
| Semaphore | Позволяет ограничить число потоков, которые могут иметь конкурентный доступ к ресурсу или определенному типу ресурсов |
| Thread | Представляет поток, выполняющийся в среде CLR. С помощью этого типа можно создавать дополнительные потоки в оригинальном домене приложения |
| ThreadPool | Позволяет взаимодействовать о пулам потоков, управляемым средой CLR в рамках данного процесса |
| ThreadPriority | Перечень, представляющий уровень приоритета потока (Highest, Normal и т.д.) |
| ThreadStart | Делегат, используемый для указания метода, вызываемого для данного потока. В отличие от ParameterizedThreadStart, целевые методы ThreadStart должны соответствовать фиксированному шаблону |
| ThreadState | Перечень, указывающий состояния, допустимые для данного потока (Running, Aborted и т.д.) |
| Timer | Обеспечивает механизм выполнения метода через заданные интервалы времени |
| TimerCallback | Делегат, используемый в совокупности с типами Timer |
Класс System.Threading.Thread
Основным в пространстве имен System.Threading является класс Thread. Этот класс представляет собой объектный контейнер отдельной ветви выполнения в конкретном домене приложения. Он определяет ряд методов (как статических, так и общедоступных), которые позволяют создавать новые потоки в текущем домене приложения, а также приостанавливать, останавливать и завершать отдельные потоки. Рассмотрите описания основных статических членов, приведенные в табл. 14.2.
Таблица 14.2. Основные статические члены типа Thread
| Статический член | Описание |
|---|---|
| CurrentContext | Доступное только для чтения свойство, возвращающее контекст, в котором выполняется поток в настоящий момент |
| CurrentThread | Доступное только для чтения свойство, возвращающее ссылку на выполняемый в настоящий момент поток |
| GetDomain() GetDomainID() | Методы, возвращающие ссылки на текущий домен приложения или идентификатор домена, в котором выполняется текущий поток |
| Sleep() | Метод, приостанавливающий выполнение текущего потока на указанное время |
Класс Thread также поддерживает набор членов уровня экземпляра. Описания некоторых из этих членов приведены в табл. 14.3.
Таблица 14.3. Члены уровня экземпляра типа Thread