ProcessThread.IdealProcessor Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit le processeur par défaut sur lequel exécuter ce thread.
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
Valeur de propriété
Processeur par défaut pour le thread, utilisé lorsque le système planifie des threads, afin de déterminer le processeur sur lequel exécuter le thread.
- Attributs
Exceptions
Le système n'a pas pu définir le thread pour qu'il démarre sur le processeur spécifié.
Le processus se trouve sur un ordinateur distant.
Exemples
L’exemple suivant montre comment définir la IdealProcessor propriété d’un instance du Bloc-notes sur le premier processeur.
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
Remarques
La IdealProcessor valeur est de base zéro. En d’autres termes, pour définir l’affinité de thread pour le premier processeur, définissez la propriété sur zéro.
Le système planifie des threads sur leurs processeurs préférés chaque fois que cela est possible.
Un thread de processus peut migrer du processeur au processeur, chaque migration rechargeant le cache du processeur. La spécification d’un processeur pour un thread peut améliorer les performances sous de lourdes charges système en réduisant le nombre de fois où le cache du processeur est rechargé.