ProcessThread.IdealProcessor Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Establece el procesador preferido para ejecutar este subproceso.
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
Valor de propiedad
Procesador preferido para el subproceso, que se utiliza cuando el sistema programa los subprocesos, con el fin de determinar en qué procesador se ejecutará.
- Atributos
Excepciones
El sistema no pudo establecer el subproceso para que se iniciara en el procesador especificado.
El proceso está en un equipo remoto.
Ejemplos
En el ejemplo siguiente se muestra cómo establecer la IdealProcessor propiedad para una instancia del Bloc de notas en el primer procesador.
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
Comentarios
El IdealProcessor valor es de base cero. En otras palabras, para establecer la afinidad de subproceso para el primer procesador, establezca la propiedad en cero.
El sistema programa subprocesos en sus procesadores preferidos siempre que sea posible.
Un subproceso de proceso puede migrar del procesador al procesador, con cada migración que vuelve a cargar la memoria caché del procesador. Especificar un procesador para un subproceso puede mejorar el rendimiento en cargas pesadas del sistema reduciendo el número de veces que se vuelve a cargar la memoria caché del procesador.