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) |