Thread Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает и контролирует поток, задает приоритет и возвращает статус.
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject
public ref class Thread sealed
public ref class Thread sealed : System::Runtime::InteropServices::_Thread
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, System::Runtime::InteropServices::_Thread
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Thread
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class Thread : System.Runtime.InteropServices._Thread
[System.Runtime.InteropServices.ComVisible(true)]
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, System.Runtime.InteropServices._Thread
type Thread = class
inherit CriticalFinalizerObject
[<System.Runtime.InteropServices.ComVisible(true)>]
type Thread = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type Thread = class
interface _Thread
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type Thread = class
inherit CriticalFinalizerObject
interface _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
Public NotInheritable Class Thread
Public NotInheritable Class Thread
Implements _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
Implements _Thread
- Наследование
- Наследование
-
Thread
- Атрибуты
- Реализации
Комментарии
Дополнительные сведения об этом API см. в разделе Дополнительные примечания API для Thread.
Конструкторы
Thread(ParameterizedThreadStart) |
Инициализирует новый экземпляр класса Thread, при этом указывается делегат, позволяющий объекту быть переданным в поток при запуске потока. |
Thread(ParameterizedThreadStart, Int32) |
Инициализирует новый экземпляр класса Thread, при этом указывается делегат, позволяющий объекту быть переданным в поток при запуске потока с указанием максимального размера стека для потока. |
Thread(ThreadStart) |
Инициализирует новый экземпляр класса Thread. |
Thread(ThreadStart, Int32) |
Инициализирует новый экземпляр класса Thread, указывая максимальный размер стека для потока. |
Свойства
ApartmentState |
Устаревшие..
Устаревшие..
Возвращает или задает модель "apartment" для данного потока. |
CurrentContext |
Возвращает текущий контекст, в котором выполняется поток. |
CurrentCulture |
Получает или задает язык и региональные параметры для текущего потока. |
CurrentPrincipal |
Возвращает или задает текущего участника потока (для безопасности на основе ролей). |
CurrentThread |
Возвращает выполняющийся в данный момент поток. |
CurrentUICulture |
Получает или задает текущие язык и региональные параметры, используемые диспетчером ресурсов для поиска ресурсов, связанных с языком и региональными параметрами, во время выполнения. |
ExecutionContext |
Возвращает объект ExecutionContext, содержащий сведения о различных контекстах текущего потока. |
IsAlive |
Возвращает значение, показывающее статус выполнения текущего потока. |
IsBackground |
Возвращает или задает значение, показывающее, является ли поток фоновым. |
IsThreadPoolThread |
Возвращает значение, показывающее, принадлежит ли поток к группе управляемых потоков. |
ManagedThreadId |
Возвращает уникальный идентификатор текущего управляемого потока. |
Name |
Получает или задает имя потока. |
Priority |
Возвращает или задает значение, указывающее на планируемый приоритет потока. |
ThreadState |
Возвращает значение, содержащее состояния текущего потока. |
Методы
Abort() |
Устаревшие..
Вызывает исключение ThreadAbortException в вызвавшем его потоке для того, чтобы начать процесс завершения потока. Вызов данного метода обычно завершает поток. |
Abort(Object) |
Устаревшие..
Вызывает исключение ThreadAbortException в вызвавшем его потоке для того, чтобы начать процесс завершения потока, в то же время предоставляя сведения об исключении касательно исключения завершения потока. Вызов данного метода обычно завершает поток. |
AllocateDataSlot() |
Выделяет неименованную область данных всем потокам. Для улучшения производительности используйте поля, отмеченные атрибутом ThreadStaticAttribute. |
AllocateNamedDataSlot(String) |
Выделяет именованную область данных всем потокам. Для улучшения производительности используйте поля, отмеченные атрибутом ThreadStaticAttribute. |
BeginCriticalRegion() |
Уведомляет узел, что выполнение близится ко входу в область кода, в которой эффекты прерывания выполнения или неуправляемого выполнения могут повлиять на другие задачи в домене приложения. |
BeginThreadAffinity() |
Уведомляет узел, что управляемый код близок к выполнению инструкций, зависящих от идентификации текущего потока операционной системы. |
DisableComObjectEagerCleanup() |
Отключает автоматическую очистку вызываемых оболочек времени выполнения (RCW) для текущего потока. |
EndCriticalRegion() |
Уведомляет узел, что выполнение близится ко входу в область кода, в которой эффекты прерывания выполнения или неуправляемой ошибки ограничены текущей задачей. |
EndThreadAffinity() |
Уведомляет хост об окончании выполнения кодом инструкций, которые зависят от идентификатора текущего потока в операционной системе. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Finalize() |
Обеспечивает освобождение ресурсов и выполнение других завершающих операций, когда сборщик мусора восстанавливает объект Thread. |
FreeNamedDataSlot(String) |
Удаляет связь между названием и областью для всех потоков в процессе. Для улучшения производительности используйте поля, отмеченные атрибутом ThreadStaticAttribute. |
GetApartmentState() |
Возвращает значение типа ApartmentState, показывающее состояние апартамента. |
GetCompressedStack() |
Устаревшие..
Устаревшие..
Возвращает объект CompressedStack, который может быть использован для записи стека текущего потока. |
GetCurrentProcessorId() |
Возвращает идентификатор, используемый для указания того, какой процессор исполняет текущий поток. |
GetData(LocalDataStoreSlot) |
Извлекает значение из заданной области текущего потока, внутри текущей области текущего потока. Для улучшения производительности используйте поля, отмеченные атрибутом ThreadStaticAttribute. |
GetDomain() |
Возвращает текущую область, в которой выполняется текущий поток. |
GetDomainID() |
Возвращает уникальный идентификатор домена приложения. |
GetHashCode() |
Возвращает хэш-код текущего потока. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetNamedDataSlot(String) |
Ищет именованную область данных. Для улучшения производительности используйте поля, отмеченные атрибутом ThreadStaticAttribute. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
Interrupt() |
Прерывает работу потока, находящегося в состоянии WaitSleepJoin. |
Join() |
Блокирует вызывающий поток до завершения потока, представленного экземпляром, продолжая отправлять стандартные сообщения COM и |
Join(Int32) |
Блокирует вызывающий поток до завершения потока, представленного экземпляром, или истечения указанного времени, продолжая отправлять стандартные сообщения COM и SendMessage. |
Join(TimeSpan) |
Блокирует вызывающий поток до завершения потока, представленного экземпляром, или истечения указанного времени, продолжая отправлять стандартные сообщения COM и SendMessage. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
MemoryBarrier() |
Синхронизирует доступ к памяти следующим образом: процессор, выполняющий текущий поток, не способен упорядочить инструкции так, чтобы обращения к памяти до вызова метода MemoryBarrier() выполнялись после обращений к памяти, следующих за вызовом метода MemoryBarrier(). |
ResetAbort() |
Устаревшие..
Отменяет метод Abort(Object), запрошенный для текущего потока. |
Resume() |
Устаревшие..
Устаревшие..
Устаревшие..
Возобновляет приостановленную работу потока. |
SetApartmentState(ApartmentState) |
Задает модель "apartment" для потока до его запуска. |
SetCompressedStack(CompressedStack) |
Устаревшие..
Устаревшие..
Применяет записанное значение CompressedStack к текущему потоку. |
SetData(LocalDataStoreSlot, Object) |
Задает данные в указанной области для текущей области потока, выполняющегося в данный момент. Для улучшения производительности используйте поля, отмеченные атрибутом ThreadStaticAttribute. |
Sleep(Int32) |
Приостанавливает текущий поток на заданное количество миллисекунд. |
Sleep(TimeSpan) |
Приостанавливает текущий поток на заданное время. |
SpinWait(Int32) |
Вынуждает поток выполнять ожидание столько раз, сколько определено параметром |
Start() |
Вынуждает операционную систему изменить состояние текущего экземпляра на Running. |
Start(Object) |
Заставляет операционную систему изменить состояние текущего экземпляра на Running, а также (необязательно) передает объект с данными, используемыми методом в потоке. |
Suspend() |
Устаревшие..
Устаревшие..
Устаревшие..
Приостанавливает работу потока; если работа потока уже приостановлена, не оказывает влияния. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
TrySetApartmentState(ApartmentState) |
Задает модель "apartment" для потока до его запуска. |
UnsafeStart() |
Вынуждает операционную систему изменить состояние текущего экземпляра на Running. |
UnsafeStart(Object) |
Заставляет операционную систему изменить состояние текущего экземпляра на Running, а также (необязательно) передает объект с данными, используемыми методом в потоке. |
VolatileRead(Byte) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(Double) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(Int16) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(Int32) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(Int64) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(IntPtr) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(Object) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(SByte) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(Single) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(UInt16) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(UInt32) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(UInt64) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileRead(UIntPtr) |
Устаревшие..
Считывает значение поля. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется после данного метода в коде, процессор не сможет переместить ее перед этим методом. |
VolatileWrite(Byte, Byte) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(Double, Double) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(Int16, Int16) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(Int32, Int32) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(Int64, Int64) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(IntPtr, IntPtr) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(Object, Object) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(SByte, SByte) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(Single, Single) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(UInt16, UInt16) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(UInt32, UInt32) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(UInt64, UInt64) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
VolatileWrite(UIntPtr, UIntPtr) |
Устаревшие..
Записывает значение в поле. В системах, которым это необходимо, вставляет барьер памяти, не позволяющий процессору изменять порядок операций памяти следующим образом: если операция чтения или записи появляется перед данным методом в коде, процессор не сможет поместить ее после этого метода. |
Yield() |
Позволяет вызвавшему потоку передать выполнение другому потоку, готовому к использованию на текущем процессоре. Операционная система выбирает, какому потоку передается выполнение. |
Явные реализации интерфейса
_Thread.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. |
_Thread.GetTypeInfo(UInt32, UInt32, IntPtr) |
Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса. |
_Thread.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). |
_Thread.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к открытым свойствам и методам объекта. |
Применяется к
Потокобезопасность
Данный тип потокобезопасен.