ProcessThread 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示操作系统进程线程。
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 接口。 在使用完类型后,您应直接或间接释放类型。 若要直接释放类型,请在 try
/catch
块中调用其 Dispose 方法。 若要间接释放类型,请使用 using
(在 C# 中)或 Using
(在 Visual Basic 中)等语言构造。 有关详细信息,请参阅 IDisposable 接口主题中的“使用实现 IDisposable 的对象”一节。
线程是通过程序执行的路径。 它是 Win32 计划的最小执行单元。 它由堆栈、CPU 寄存器的状态以及系统计划程序执行列表中的条目组成。
一个进程由一个或多个线程,以及内存中程序的代码、数据和其他资源组成。 典型的程序资源是打开的文件、信号灯和动态分配的内存。 进程的每个资源都由该进程的所有线程共享。
当系统计划程序向某个程序的线程提供执行控制时,程序将执行。 计划程序确定应运行哪些线程以及何时运行。 当优先级较高的线程完成任务时,可能会强制低优先级线程等待。 在多处理器计算机上,计划程序可以将单个线程移动到不同的处理器,从而平衡 CPU 负载。
每个进程都从单个线程(称为主线程)开始。 任何线程可以创建额外的线程。 进程中的所有线程共享该进程的地址空间。
主线程不一定位于集合中的第一个索引处。
注意
从 .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 | (继承自 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() |
返回包含 Component 的名称的 String(如果有)。 不应重写此方法。 (继承自 Component) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
事件
Disposed |
在通过调用 Dispose() 方法释放组件时发生。 (继承自 Component) |