Process.ProcessorAffinity Process.ProcessorAffinity Process.ProcessorAffinity Process.ProcessorAffinity Property

定義

このプロセスでのスレッドの実行をスケジュールできるプロセッサを取得または設定します。Gets or sets the processors on which the threads in this process can be scheduled to run.

public:
 property IntPtr ProcessorAffinity { IntPtr get(); void set(IntPtr value); };
public IntPtr ProcessorAffinity { get; set; }
member this.ProcessorAffinity : nativeint with get, set
Public Property ProcessorAffinity As IntPtr

プロパティ値

関連付けられたプロセスのスレッドを実行できるプロセッサを示すビットマスク。A bitmask representing the processors that the threads in the associated process can run on. 既定値は、コンピューターのプロセッサ数によって異なります。The default depends on the number of processors on the computer. 既定値は 2 n -1 で、n はプロセッサの数です。The default value is 2 n -1, where n is the number of processors.

例外

関連付けられているプロセスのリソースから ProcessorAffinity 情報を設定できないか、取得できませんでした。ProcessorAffinity information could not be set or retrieved from the associated process resource.

または-or- プロセス識別子またはプロセス ハンドルが 0 です。The process identifier or process handle is zero. (プロセスは開始されていません。)(The process has not been started.)

リモート コンピューターで実行されているプロセスの ProcessorAffinity プロパティにアクセスしようとしています。You are attempting to access the ProcessorAffinity property for a process that is running on a remote computer. このプロパティはローカル コンピューターで実行中のプロセスに対してのみ使用可能です。This property is available only for processes that are running on the local computer.

プロセス Id が使用できませんでした。The process Id was not available.

または-or- プロセスが終了しています。The process has exited.

注釈

Windows 2000 以降では、プロセスのスレッドはプロセッサごとの移行、プロセッサーを移行できます。In Windows 2000 and later, a thread in a process can migrate from processor to processor, with each migration reloading the processor cache. 重い負荷、プロセッサが特定のスレッドを実行する必要がありますを指定するパフォーマンスを向上できますプロセッサのキャッシュが再読み込み回数を削減します。Under heavy system loads, specifying which processor should run a specific thread can improve performance by reducing the number of times the processor cache is reloaded. プロセッサと、スレッド間の関連付けは、プロセッサのアフィニティと呼ばれます。The association between a processor and a thread is called the processor affinity.

各プロセッサは少しとして表されます。Each processor is represented as a bit. ビット 0 がいずれかのプロセッサ、ビット 1 は、2 つのプロセッサとなどです。Bit 0 is processor one, bit 1 is processor two, and so forth. 値を 1 に、少し設定した場合は、対応するプロセッサがスレッドの割り当てに選択されます。If you set a bit to the value 1, the corresponding processor is selected for thread assignment. 設定すると、ProcessorAffinity値を 0、オペレーティング システムには、スレッドのアフィニティにアルゴリズムのセットのスケジューリングします。When you set the ProcessorAffinity value to zero, the operating system's scheduling algorithms set the thread's affinity. ときに、ProcessorAffinity値が 0 以外の値に設定されて、値は選択可能なプロセッサを指定するビットマスクとして解釈されます。When the ProcessorAffinity value is set to any nonzero value, the value is interpreted as a bitmask that specifies those processors eligible for selection.

次の表に、選択したProcessorAffinity8 プロセッサ システム値です。The following table shows a selection of ProcessorAffinity values for an eight-processor system.

ビットマスクBitmask バイナリ値Binary value 対象となるプロセッサEligible processors
0x00010x0001 00000000 0000000100000000 00000001 11
0x00030x0003 00000000 0000001100000000 00000011 1 と 21 and 2
0x00070x0007 00000000 0000011100000000 00000111 1、2、31, 2 and 3
0x00090x0009 00000000 0000100100000000 00001001 1 および 41 and 4
0x007F0x007F 00000000 0111111100000000 01111111 1、2、3、4、5、6 および 71, 2, 3, 4, 5, 6 and 7

セキュリティ

LinkDemand
直前の呼び出し元に対する完全な信頼。for full trust for the immediate caller. このメンバーは、部分的に信頼されているコードから使用することはできません。This member cannot be used by partially trusted code.

適用対象