ProcessThread.IdealProcessor Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastaví upřednostňovaný procesor pro toto vlákno, na které se má spustit.
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, který se používá, když systém plánuje vlákna, k určení procesoru, na kterém se má vlákno spustit.
- Atributy
Výjimky
Systém nemohl nastavit, aby se vlákno spustilo na zadaném procesoru.
Proces je ve vzdáleném počítači.
Příklady
Následující příklad ukazuje, jak nastavit IdealProcessor vlastnost pro instanci Poznámkového bloku 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 naplánuje vlákna na upřednostňovaných procesorech, kdykoli je to možné.
Vlákno procesu 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 velkém zatížení systému tím, že se sníží počet opakovaných načtení mezipaměti procesoru.