Sdílet prostřednictvím


ProcessThread.IdealProcessor Vlastnost

Definice

Nastaví upřednostňovaný procesor pro toto vlákno tak, aby běžel.

public:
 property int IdealProcessor {  void set(int value); };
public int IdealProcessor { set; }
[System.ComponentModel.Browsable(false)]
public int IdealProcessor { set; }
member this.IdealProcessor : int
[<System.ComponentModel.Browsable(false)>]
member this.IdealProcessor : int
Public Property IdealProcessor As Integer

Hodnota vlastnosti

Upřednostňovaný procesor pro vlákno používaný při plánování systému vlákna určit, na kterém procesoru se má vlákno spustit.

Atributy

Výjimky

Systém nemohl nastavit vlákno tak, aby se spustilo v zadaném procesoru.

Proces je na vzdáleném počítači.

Příklady

Následující příklad ukazuje, jak nastavit IdealProcessor vlastnost instance Poznámkový blok na první procesor.

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;
        }
    }
}
Imports System.Diagnostics



Class Program
    
    Shared Sub Main(ByVal args() As String) 
        ' Make sure there is an instance of notepad running.
        Dim notepads As Process() = Process.GetProcessesByName("notepad")
        If notepads.Length = 0 Then
            Process.Start("notepad")
        End If
        Dim threads As ProcessThreadCollection
        '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 = CType(1, IntPtr)
    End Sub
End Class

Poznámky

Hodnota IdealProcessor je založená na nule. Jinými slovy, pokud chcete nastavit spřažení vláken pro první procesor, nastavte vlastnost na nulu.

Systém plánuje vlákna na svých upřednostňovaných procesorech, kdykoli je to možné.

Vlákno procesu se může migrovat z procesoru na procesor, přičemž každá migrace znovu načte mezipaměť procesoru. Určení procesoru pro vlákno může zvýšit výkon při vysokém zatížení systému snížením počtu opětovného načtení mezipaměti procesoru.

Platí pro