System.Threading Пространство имен

Пространство имен System.Threading содержит классы и интерфейсы, которые дают возможность программировать в многопоточном режиме. The System.Threading namespace provides classes and interfaces that enable multithreaded programming. Помимо классов синхронизации работы потоков и доступа к данным (Mutex, Monitor, Interlocked, AutoResetEvent и т. д.), это пространство имен содержит класс ThreadPool, позволяющий использовать пул предоставляемых системой потоков, и класс Timer, выполняющий методы обратного вызова в потоках пула потоков. In addition to classes for synchronizing thread activities and access to data (Mutex, Monitor, Interlocked, AutoResetEvent, and so on), this namespace includes a ThreadPool class that allows you to use a pool of system-supplied threads, and a Timer class that executes callback methods on thread pool threads.

Классы

AbandonedMutexException

Исключение вызывается, когда некоторый поток получает объект Mutex, брошенный другим потоком путем выхода без высвобождения.The exception that is thrown when one thread acquires a Mutex object that another thread has abandoned by exiting without releasing it.

AsyncLocal<T>

Представляет внешние данные, локальные для данного асинхронного потока управления, такие как асинхронный метод.Represents ambient data that is local to a given asynchronous control flow, such as an asynchronous method.

AutoResetEvent

Представляет событие синхронизации потоков, которое при срабатывании автоматически сбрасывается, освобождая один поток в состоянии ожидания.Represents a thread synchronization event that, when signaled, resets automatically after releasing a single waiting thread. Этот класс не наследуется.This class cannot be inherited.

Barrier

Позволяет нескольким задачам параллельно работать с алгоритмом, используя несколько фаз.Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.

BarrierPostPhaseException

Исключение, которое возникает при сбое действия барьера Barrier, выполняемого в конце фазы.The exception that is thrown when the post-phase action of a Barrier fails.

CancellationTokenSource

Отправляет токену CancellationToken сигнал отмены.Signals to a CancellationToken that it should be canceled.

CompressedStack

Обеспечивает методы для установки и инициализации сжатого стека в текущем потоке.Provides methods for setting and capturing the compressed stack on the current thread. Этот класс не наследуется.This class cannot be inherited.

CountdownEvent

Представляет примитив синхронизации, которому отправляется сигнал при достижении счетчиком нуля.Represents a synchronization primitive that is signaled when its count reaches zero.

EventWaitHandle

Представляет событие синхронизации потока.Represents a thread synchronization event.

ExecutionContext

Управляет контекстом выполнения текущего потока.Manages the execution context for the current thread. Этот класс не наследуется.This class cannot be inherited.

HostExecutionContext

Инкапсулирует и распространяет контекст выполнения хоста по потокам.Encapsulates and propagates the host execution context across threads.

HostExecutionContextManager

Обеспечивает функциональность, позволяющие узлу общеязыковой среды выполнения участвовать в потоке или миграции контекста выполнения.Provides the functionality that allows a common language runtime host to participate in the flow, or migration, of the execution context.

Interlocked

Предоставляет атомарные операции для переменных, общедоступных нескольким потокам.Provides atomic operations for variables that are shared by multiple threads.

LazyInitializer

Обеспечивает процедуры неактивной инициализации.Provides lazy initialization routines.

LockRecursionException

Исключение генерируется, когда рекурсивная запись блокировки не совпадает с рекурсивной политикой блокировки.The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock.

ManualResetEvent

Представляет событие синхронизации потока, которое при получении сигнала необходимо сбросить вручную.Represents a thread synchronization event that, when signaled, must be reset manually. Этот класс не наследуется.This class cannot be inherited.

ManualResetEventSlim

Представляет событие синхронизации потока, которое при получении сигнала необходимо сбросить вручную.Represents a thread synchronization event that, when signaled, must be reset manually. Этот класс является упрощенной альтернативой ManualResetEvent.This class is a lightweight alternative to ManualResetEvent.

Monitor

Предоставляет механизм для синхронизации доступа к объектам.Provides a mechanism that synchronizes access to objects.

Mutex

Примитив синхронизации, который также может использоваться в межпроцессорной синхронизации.A synchronization primitive that can also be used for interprocess synchronization.

Overlapped

Предоставляет управляемое представление структуры OVERLAPPED Win32, включая методы для передачи данных из экземпляра Overlapped в структуру NativeOverlapped.Provides a managed representation of a Win32 OVERLAPPED structure, including methods to transfer information from an Overlapped instance to a NativeOverlapped structure.

PreAllocatedOverlapped

Представляет предварительно выделенное состояние для собственных перекрывающихся операций ввода-вывода.Represents pre-allocated state for native overlapped I/O operations.

ReaderWriterLock

Определяет блокировку, которая поддерживает один пишущий поток и несколько читающих.Defines a lock that supports single writers and multiple readers.

ReaderWriterLockSlim

Представляет блокировку, используемую для управления доступом к ресурсу, которая позволяет нескольким потокам производить считывание или получать монопольный доступ на запись.Represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing.

RegisteredWaitHandle

Представляет дескриптор, который регистрируется при вызове метода RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean).Represents a handle that has been registered when calling RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean). Этот класс не наследуется.This class cannot be inherited.

Semaphore

Ограничивает число потоков, которые могут одновременно обращаться к ресурсу или пулу ресурсов.Limits the number of threads that can access a resource or pool of resources concurrently.

SemaphoreFullException

Исключение, выдаваемое при вызове метода Release для семафора, значение счетчика которого уже равно максимальному.The exception that is thrown when the Release method is called on a semaphore whose count is already at the maximum.

SemaphoreSlim

Представляет упрощенную альтернативу семафору Semaphore, ограничивающему количество потоков, которые могут параллельно обращаться к ресурсу или пулу ресурсов.Represents a lightweight alternative to Semaphore that limits the number of threads that can access a resource or pool of resources concurrently.

SynchronizationContext

Обеспечивает базовую функциональность для распространения контекста синхронизации в различных моделях синхронизации.Provides the basic functionality for propagating a synchronization context in various synchronization models.

SynchronizationLockException

Исключение, которое выдается в то время, когда методу требуется вызвавший его объект для получения блокировки данного Monitor, а метод вызван объектом, не являющимся владельцем блокировки.The exception that is thrown when a method requires the caller to own the lock on a given Monitor, and the method is invoked by a caller that does not own that lock.

Thread

Создает и контролирует поток, задает приоритет и возвращает статус.Creates and controls a thread, sets its priority, and gets its status.

ThreadAbortException

Исключение, выдаваемое при вызове метода Abort(Object).The exception that is thrown when a call is made to the Abort(Object) method. Этот класс не наследуется.This class cannot be inherited.

ThreadExceptionEventArgs

Предоставляет данные для события ThreadException.Provides data for the ThreadException event.

ThreadingAclExtensions
ThreadInterruptedException

Исключение, которое выдается при прерывании работы потока Thread, находящегося в состоянии ожидания.The exception that is thrown when a Thread is interrupted while it is in a waiting state.

ThreadLocal<T>

Предоставляет хранилище для данных, локальных для потока.Provides thread-local storage of data.

ThreadPool

Предоставляет пул потоков, который можно использовать для выполнения задач, отправки рабочих элементов, обработки асинхронного ввода-вывода, ожидания от имени других потоков и обработки таймеров.Provides a pool of threads that can be used to execute tasks, post work items, process asynchronous I/O, wait on behalf of other threads, and process timers.

ThreadPoolBoundHandle

Представляет дескриптор ввода-вывода, который привязан к системному пулу потоков и позволяет низкоуровневым компонентам получать уведомления для асинхронных операций ввода-вывода.Represents an I/O handle that is bound to the system thread pool and enables low-level components to receive notifications for asynchronous I/O operations.

ThreadStartException

Исключение выдается, когда происходит сбой в управляемом потоке после запуска базового потока операционной системы, но до готовности потока к выполнению кода пользователя.The exception that is thrown when a failure occurs in a managed thread after the underlying operating system thread has been started, but before the thread is ready to execute user code.

ThreadStateException

Исключение, которое выдается, когда объект Thread является неправильным свойством ThreadState для вызова метода.The exception that is thrown when a Thread is in an invalid ThreadState for the method call.

Timeout

Содержит константы, определяющие бесконечные интервалы времени ожидания.Contains constants that specify infinite time-out intervals. Этот класс не наследуется.This class cannot be inherited.

Timer

Предоставляет механизм для выполнения метода в потоке пула с заданными интервалами.Provides a mechanism for executing a method on a thread pool thread at specified intervals. Этот класс не наследуется.This class cannot be inherited.

Volatile

Содержит методы для выполнения операций энергонезависимой памяти.Contains methods for performing volatile memory operations.

WaitHandle

Инкапсулирует связанные с операционной системой объекты, ожидающие монопольного доступа к общим ресурсам.Encapsulates operating system-specific objects that wait for exclusive access to shared resources.

WaitHandleCannotBeOpenedException

Исключение, которое возникает при попытке открыть несуществующий системный семафор или дескриптор ожидания события.The exception that is thrown when an attempt is made to open a system mutex, semaphore, or event wait handle that does not exist.

WaitHandleExtensions

Предоставляет удобные методы для работы с безопасным дескриптором для дескриптора ожидания.Provides convenience methods to for working with a safe handle for a wait handle.

Структуры

AsyncFlowControl

Обеспечивает функциональность для восстановления миграции или перемещения контекста выполнения между потоками.Provides the functionality to restore the migration, or flow, of the execution context between threads.

AsyncLocalValueChangedArgs<T>

Класс, предоставляющий сведения об изменениях данных экземплярам AsyncLocal<T>, которые зарегистрированы для получения уведомлений об изменениях.The class that provides data change information to AsyncLocal<T> instances that register for change notifications.

CancellationToken

Распространяет уведомление о том, что операции следует отменить.Propagates notification that operations should be canceled.

CancellationTokenRegistration

Представляет делегат обратного вызова, зарегистрированный с объектом CancellationToken.Represents a callback delegate that has been registered with a CancellationToken.

LockCookie

Определяет блокировку, которая реализует семантику "один записывающий / много читающих".Defines the lock that implements single-writer/multiple-reader semantics. Это тип значения.This is a value type.

NativeOverlapped

Содержит явное представление, видимое из неуправляемого кода, и которое имеет то же представление, что и структура Win32 OVERLAPPED с дополнительными зарезервированными полями в конце.Provides an explicit layout that is visible from unmanaged code and that will have the same layout as the Win32 OVERLAPPED structure with additional reserved fields at the end.

SpinLock

Предоставляет примитив взаимно исключающей блокировки, в котором поток, пытающийся получить блокировку, ожидает в состоянии цикла, проверяя доступность блокировки.Provides a mutual exclusion lock primitive where a thread trying to acquire the lock waits in a loop repeatedly checking until the lock becomes available.

SpinWait

Предоставляет поддержку ожидания на основе прокруток.Provides support for spin-based waiting.

Интерфейсы

IThreadPoolWorkItem

Представляет рабочий элемент, который может быть выполнен пулом ThreadPool.Represents a work item that can be executed by the ThreadPool.

Перечисления

ApartmentState

Задает апартаментное состояние потока Thread.Specifies the apartment state of a Thread.

EventResetMode

Указывает, сбрасывается ли EventWaitHandle автоматически или вручную после получения сигнала.Indicates whether an EventWaitHandle is reset automatically or manually after receiving a signal.

LazyThreadSafetyMode

Определяет, как экземпляр Lazy<T> синхронизирует доступ из нескольких потоков.Specifies how a Lazy<T> instance synchronizes access among multiple threads.

LockRecursionPolicy

Указывает, можно ли несколько раз войти в блокировку из одного и того же потока.Specifies whether a lock can be entered multiple times by the same thread.

ThreadPriority

Задает приоритет выполнения потока Thread.Specifies the scheduling priority of a Thread.

ThreadState

Задает состояния выполнения объекта Thread.Specifies the execution states of a Thread.

Делегаты

ContextCallback

Представляет метод, вызываемый в новом контексте.Represents a method to be called within a new context.

IOCompletionCallback

Получает код ошибки, количество байтов и тип перекрывающегося значения при завершении операции ввода-вывода в пуле потоков.Receives the error code, number of bytes, and overlapped value type when an I/O operation completes on the thread pool.

ParameterizedThreadStart

Представляет метод, который выполняется в отношении Thread.Represents the method that executes on a Thread.

SendOrPostCallback

Указывает метод, вызываемый при отправке сообщения в контекст синхронизации.Represents a method to be called when a message is to be dispatched to a synchronization context.

ThreadExceptionEventHandler

Представляет метод, обрабатывающий событие ThreadExceptionApplication.Represents the method that will handle the ThreadException event of an Application.

ThreadStart

Представляет метод, который выполняется в отношении Thread.Represents the method that executes on a Thread.

TimerCallback

Представляет метод, обрабатывающий вызовы от события Timer.Represents the method that handles calls from a Timer.

WaitCallback

Представляет метод обратного вызова, выполняющегося потоком из пула потоков.Represents a callback method to be executed by a thread pool thread.

WaitOrTimerCallback

Представляет метод, который вызывается при получении объектом WaitHandle сигнала или истечении времени ожидания.Represents a method to be called when a WaitHandle is signaled or times out.