Process.ProcessorAffinity 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定處理器,這個處理序中的執行緒可以在其上排程執行。
public:
property IntPtr ProcessorAffinity { IntPtr get(); void set(IntPtr value); };
public IntPtr ProcessorAffinity { get; set; }
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
[System.Runtime.Versioning.SupportedOSPlatform("linux")]
public IntPtr ProcessorAffinity { get; set; }
member this.ProcessorAffinity : nativeint with get, set
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
[<System.Runtime.Versioning.SupportedOSPlatform("linux")>]
member this.ProcessorAffinity : nativeint with get, set
Public Property ProcessorAffinity As IntPtr
屬性值
IntPtr
nativeint
位元遮罩,表示相關的處理序中的執行緒可以在其上執行的處理器。 預設值取決於電腦上的處理器數目。 默認值為 2 n -1,其中 n 是處理器數目。
- 屬性
例外狀況
您正在嘗試存取於遠端電腦上執行之處理序的 ProcessorAffinity 屬性。 這個屬性僅供在本機電腦執行的處理序使用。
備註
這個屬性傳回的值代表進程最近重新整理的親和性。 若要取得最新的親和性,您必須先呼叫 Refresh() 方法。
在 Windows 2000 和更新版本中,進程中的線程可以從處理器移轉至處理器,每個移轉都會重載處理器快取。 在大量系統負載下,指定哪些處理器應該執行特定線程,藉由減少重載處理器快取的次數來改善效能。 處理器與線程之間的關聯稱為處理器親和性。
每個處理器都會以位表示。 位 0 是處理器 1,位 1 是處理器 2,依此類推。 如果您將位設定為值 1,則會針對線程指派選取對應的處理器。 當您將 ProcessorAffinity 值設定為零時,操作系統的排程演算法會設定線程的親和性。 ProcessorAffinity當值設定為任何非零值時,值會解譯為位掩碼,指定符合選取資格的處理器。
下表顯示八個處理器系統的值選取 ProcessorAffinity 範圍。
位掩碼 | 二進位值 | 合格處理器 |
---|---|---|
0x0001 | 00000000 00000001 | 1 |
0x0003 | 00000000 00000011 | 1 和 2 |
0x0007 | 00000000 00000111 | 1、2 和 3 |
0x0009 | 00000000 00001001 | 1 和 4 |
0x007F | 00000000 01111111 | 1、2、3、4、5、6 和 7 |