Partage via


ProcessThread.IdealProcessor Propriété

Définition

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é.

S’applique à