ProcessThread.IdealProcessor ProcessThread.IdealProcessor ProcessThread.IdealProcessor ProcessThread.IdealProcessor Property

Definição

Define o processador preferencial para execução desse thread.Sets the preferred processor for this thread to run on.

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

Valor da propriedade

O processador preferencial para o thread, usado quando o sistema agenda threads, para determinar em qual processador o thread deve ser executado.The preferred processor for the thread, used when the system schedules threads, to determine which processor to run the thread on.

Exceções

O sistema não pôde definir o thread para ser iniciado no processador especificado.The system could not set the thread to start on the specified processor.

O processador está em um computador remoto.The process is on a remote computer.

Exemplos

O exemplo a seguir demonstra como definir a IdealProcessor propriedade de uma instância do bloco de notas para o primeiro processador.The following example demonstrates how to set the IdealProcessor property for an instance of Notepad to the first processor.

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 'Main
End Class 'Program

Comentários

O IdealProcessor valor é baseado em zero.The IdealProcessor value is zero-based. Em outras palavras, para definir a afinidade de thread para o primeiro processador, defina a propriedade como zero.In other words, to set the thread affinity for the first processor, set the property to zero.

O sistema agenda threads em seus processadores preferenciais sempre que possível.The system schedules threads on their preferred processors whenever possible.

Um thread de processo pode migrar do processador para o processador, com cada migração recarregando o cache do processador.A process thread can migrate from processor to processor, with each migration reloading the processor cache. A especificação de um processador para um thread pode melhorar o desempenho sob cargas pesadas do sistema, reduzindo o número de vezes que o cache do processador é recarregado.Specifying a processor for a thread can improve performance under heavy system loads by reducing the number of times the processor cache is reloaded.

Aplica-se a