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
プロパティ値
nativeint
関連付けられたプロセスのスレッドを実行できるプロセッサを示すビットマスク。 既定値は、コンピューターのプロセッサ数によって異なります。 既定値は 2 n -1 で、n はプロセッサの数です。
- 属性
例外
関連付けられているプロセスのリソースから ProcessorAffinity 情報を設定できないか、取得できませんでした。
または
プロセス識別子またはプロセス ハンドルが 0 です。 (プロセスは開始されていません。)
リモート コンピューターで実行されているプロセスの ProcessorAffinity プロパティにアクセスしようとしています。 このプロパティはローカル コンピューターで実行中のプロセスに対してのみ使用可能です。
注釈
このプロパティによって返される値は、プロセスの最後に更新されたアフィニティを表します。 最新のアフィニティを取得するには、まずメソッドを呼び出す Refresh() 必要があります。
Windows 2000 以降では、プロセス内のスレッドをプロセッサからプロセッサに移行し、各移行でプロセッサ キャッシュを再読み込みできます。 システムの負荷が高い場合、特定のスレッドを実行するプロセッサを指定すると、プロセッサ キャッシュが再読み込みされる回数を減らすことでパフォーマンスが向上します。 プロセッサとスレッドの間の関連付けは、プロセッサ アフィニティと呼ばれます。
各プロセッサはビットとして表されます。 ビット 0 はプロセッサ 1、ビット 1 はプロセッサ 2 などです。 ビットを値 1 に設定すると、対応するプロセッサがスレッド割り当て用に選択されます。 値を ProcessorAffinity 0 に設定すると、オペレーティング システムのスケジュール アルゴリズムによってスレッドのアフィニティが設定されます。 値が 0 以外の ProcessorAffinity 値に設定されている場合、値は選択の対象となるプロセッサを指定するビットマスクとして解釈されます。
次の表は、8 プロセッサ システムの値の 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 |
適用対象
.NET