ProcessThread 類別

定義

表示作業系統處理序 (Process) 執行緒。

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

取得執行緒的基礎優先權 (Base Priority)。

CanRaiseEvents

取得值,指出元件是否能引發事件。

(繼承來源 Component)
Container

取得包含 IContainerComponent

(繼承來源 Component)
CurrentPriority

取得執行緒的目前優先權。

DesignMode

取得值,指出 Component 目前是否處於設計模式。

(繼承來源 Component)
Events

取得附加在這個 Component 上的事件處理常式清單。

(繼承來源 Component)
Id

取得執行緒的唯一識別項。

IdealProcessor

設定執行這個執行緒的慣用處理器。

PriorityBoostEnabled

取得或設定數值,表示每當執行緒的處理序之主視窗接收到焦點 (Focus) 時,作業系統是否應該暫時提高相關執行緒的優先權。

PriorityLevel

取得或設定執行緒的優先權層級。

PrivilegedProcessorTime

取得執行緒在作業系統核心中執行程式碼所耗用的時間量。

ProcessorAffinity

設定可以執行相關執行緒的處理器。

Site

取得或設定 ComponentISite

(繼承來源 Component)
StartAddress

取得作業系統啟動這個執行緒所呼叫之函式的記憶體位址。

StartTime

取得作業系統啟動執行緒的時間。

ThreadState

取得這個執行緒目前的狀態。

TotalProcessorTime

取得這個執行緒使用處理器所耗用的總時間量。

UserProcessorTime

取得相關執行緒在應用程式內部執行程式碼所耗用的時間量。

WaitReason

取得執行緒正在等候的原因。

方法

CreateObjRef(Type)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
Dispose()

釋放 Component 所使用的所有資源。

(繼承來源 Component)
Dispose(Boolean)

釋放 Component 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 Component)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLifetimeService()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 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)

適用於

另請參閱