Пространство имен System.Threading
Пространство имен System.Threading
В рамках платформы .NET пространство имен System.Threading предлагает ряд типов, позволяющих строить многопоточные приложения. Вдобавок к типам, с помощью которых можно взаимодействовать с отдельными потоками CLR, в этом пространстве имен определены также типы, обеспечивающие доступ к поддерживаемому средой CLR пулу потоков, простой (не имеющий графического интерфейса) класс Timer и множество типов, предназначенных для поддержки синхронизированного доступа к разделяемым ресурсам. Описания основных членов этого пространства имен приведены табл. 14.1. (Не забывайте о том, что подробности всегда можно найти в документации .NET Framework 2.0 SDK.)
Таблица 14.1. Подборка типов пространства имен System.Threading
Тип Описание 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