この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

ProcessThread.ProcessorAffinity プロパティ

 

公開日: 2016年10月

関連付けられたスレッドを実行できるプロセッサを設定します。

名前空間:   System.Diagnostics
アセンブリ:  System (System.dll 内)

[BrowsableAttribute(false)]
public IntPtr ProcessorAffinity { set; }

プロパティ値

Type: System.IntPtr

IntPtr スレッドで実行できるプロセッサを表すビット単位のセットを指します。

Exception Condition
Win32Exception

プロセッサのアフィニティを設定できませんでした。

PlatformNotSupportedException

このプラットフォームは、Windows 98 または Windows Millennium Edition には。

NotSupportedException

プロセスは、リモート コンピューター上です。

スレッドのプロセッサのアフィニティは、プロセッサの関係のセットです。 つまり、それらで実行するようにスケジュールできます。

ProcessorAffinity ビットで、各プロセッサを表します。 ビット 0 がいずれかのプロセッサを表し、ビット 1 は 2 つのプロセッサを表します。 次の表は、考えられるのサブセット ProcessorAffinity システムの 4 つのプロセッサ。

プロパティ値 (16 進数)

有効なプロセッサ

0x0001

1

0x0002

2

0x0003

1 または 2

0x0004

3

0x0005

1 または 3

0x0007

1、2、または 3

0x000F

1、2、3、または 4

設定して、スレッドの優先、1 つのプロセッサを指定することも、 IdealProcessor プロパティです。 プロセスのスレッドは、プロセッサごとの移行に、プロセッサーを移行できます。 スレッドのプロセッサを指定すると、プロセッサのキャッシュが再読み込みされる回数を減らすことによって重い負荷のパフォーマンスが向上します。

次の例では、設定する方法、 ProcessorAffinity を最初のプロセッサには、メモ帳のインスタンスのプロパティです。

using System;
using System.Diagnostics;

namespace ProcessThreadIdealProcessor
{
    class Program
    {
        static void Main(string[] args)
        {
            // Make sure there is an instance of notepad running.
            Process[] notepads = Process.GetProcessesByName("notepad");
            if (notepads.Length == 0)
                Process.Start("notepad");
            ProcessThreadCollection threads;
            //Process[] notepads;
            // Retrieve the Notepad processes.
            notepads = Process.GetProcessesByName("Notepad");
            // Get the ProcessThread collection for the first instance
            threads = notepads[0].Threads;
            // Set the properties on the first ProcessThread in the collection
            threads[0].IdealProcessor = 0;
            threads[0].ProcessorAffinity = (IntPtr)1;
        }
    }
}

.NET Framework
1.1 以降で使用可能
トップに戻る
表示: