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


ProcessThread Класс

Определение

Представляет поток процесса операционной системы.

public ref class ProcessThread : System::ComponentModel::Component
public ref class ProcessThread
public class ProcessThread : System.ComponentModel.Component
public class ProcessThread
type ProcessThread = class
    inherit Component
type ProcessThread = class
Public Class ProcessThread
Inherits Component
Public Class ProcessThread
Наследование
Наследование
ProcessThread

Комментарии

Используется ProcessThread для получения сведений о потоке, работающем в настоящее время в системе. Это позволяет, например, отслеживать характеристики производительности потока.

Это важно

Этот тип реализует IDisposable интерфейс. Завершив использование типа, следует избавиться от него напрямую или косвенно. Чтобы удалить тип напрямую, вызовите его Dispose метод в блоке try/catch . Чтобы удалить его косвенно, используйте конструкцию языка, например using (в C#) или Using (в Visual Basic). Дополнительные сведения см. в разделе "Использование объекта, реализующего IDisposable" в IDisposable разделе интерфейса.

Поток — это путь к выполнению через программу. Это наименьшая единица выполнения, которую планирует Win32. Он состоит из стека, состояния регистров ЦП и записи в списке выполнения системного планировщика.

Процесс состоит из одного или нескольких потоков и кода, данных и других ресурсов программы в памяти. Типичными ресурсами программы являются открытые файлы, семафоры и динамически выделенная память. Каждый ресурс процесса разделяется всеми потоками этого процесса.

Программа выполняется, когда системный планировщик предоставляет управление выполнением одному из потоков программы. Планировщик определяет, какие потоки должны выполняться и когда. Поток с более низким приоритетом может быть вынужден ждать, пока потоки с более высоким приоритетом завершают свои задачи. На компьютерах с несколькими обработчиками планировщик может перемещать отдельные потоки на разные процессоры, поэтому балансировка нагрузки ЦП.

Каждый процесс начинается с одного потока, который называется основным потоком. Любой поток может создавать дополнительные потоки. Все потоки в процессе совместно используют адресное пространство этого процесса.

Основной поток не обязательно расположен в первом индексе коллекции.

Замечание

Начиная с .NET Framework версии 2.0, возможность ссылаться на данные счетчика производительности на других компьютерах была устранена для многих методов и свойств .NET Framework. Это изменение было сделано для повышения производительности и включения неадминистраторов использовать ProcessThread класс. В результате некоторые приложения, которые не получили исключений в более ранних версиях .NET Framework, теперь могут получить NotSupportedExceptionисключение. Затронутые методы и свойства слишком многочисленны для перечисления здесь, но сведения об исключении добавлены в затронутые разделы-члены.

Потоки процесса выполняются по отдельности и не знают друг друга, если вы не делаете их видимыми друг другу. Однако потоки, совместно использующие общие ресурсы, должны координировать свою работу с помощью семафоров или другого метода межпроцессного взаимодействия.

Чтобы получить коллекцию всех ProcessThread объектов, связанных с текущим процессом, получите Threads свойство экземпляра Process .

Свойства

Имя Описание
BasePriority

Возвращает базовый приоритет потока.

CanRaiseEvents

Возвращает значение, указывающее, может ли компонент вызвать событие.

(Унаследовано от Component)
Container

Возвращает объект IContainer , содержащий Componentобъект .

(Унаследовано от Component)
CurrentPriority

Возвращает текущий приоритет потока.

DesignMode

Возвращает значение, указывающее, находится ли текущий Component режим разработки.

(Унаследовано от Component)
Events

Возвращает список обработчиков событий, подключенных к этому Component.

(Унаследовано от Component)
Id

Возвращает уникальный идентификатор потока.

IdealProcessor

Задает предпочтительный процессор для этого потока для запуска.

PriorityBoostEnabled

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

PriorityLevel

Возвращает или задает уровень приоритета потока.

PrivilegedProcessorTime

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

ProcessorAffinity

Задает процессоры, на которых может выполняться связанный поток.

Site

Возвращает или задает ISite объект Component.

(Унаследовано от Component)
StartAddress

Возвращает адрес памяти функции, которую вызывает операционная система, которая запустила этот поток.

StartTime

Возвращает время запуска потока операционной системой.

ThreadState

Возвращает текущее состояние этого потока.

TotalProcessorTime

Возвращает общее время, затраченное этим потоком на использование процессора.

UserProcessorTime

Возвращает время, затраченное связанным потоком на выполнение кода в приложении.

WaitReason

Получает причину ожидания потока.

Методы

Имя Описание
CreateObjRef(Type)

Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, используемые параметром Component.

(Унаследовано от Component)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые Component и при необходимости освобождает управляемые ресурсы.

(Унаследовано от Component)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
GetService(Type)

Возвращает объект, представляющий службу, предоставляемую Component или ее Container.

(Унаследовано от Component)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неглубокую копию текущего MarshalByRefObject объекта.

(Унаследовано от MarshalByRefObject)
ResetIdealProcessor()

Сбрасывает идеальный процессор для этого потока, чтобы указать, что нет одного идеального процессора. Другими словами, так что любой процессор идеально подходит.

ToString()

String Возвращает имя, содержащее имя , если таковое Componentимеется. Этот метод не должен быть переопределен.

(Унаследовано от Component)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

Имя Описание
Disposed

Происходит при удалении компонента вызовом Dispose() метода.

(Унаследовано от Component)

Применяется к

См. также раздел