ProcessorAffinity Propiedad
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

ProcessThread.ProcessorAffinity (Propiedad)

 

Establece los procesadores en los que puede ejecutarse el subproceso asociado.

Espacio de nombres:   System.Diagnostics
Ensamblado:  System (en System.dll)

<BrowsableAttribute(False)>
Public WriteOnly Property ProcessorAffinity As IntPtr

Valor de propiedad

Type: System.IntPtr

IntPtr que señala a un conjunto de bits, cada uno de los cuales representa a un procesador en el que puede ejecutarse el subproceso.

Exception Condition
Win32Exception

No se pudo establecer la afinidad de procesador.

PlatformNotSupportedException

La plataforma es Windows 98 o Windows Millennium.

NotSupportedException

El proceso está en un equipo remoto.

La afinidad de procesador de un subproceso corresponde al conjunto de procesadores con el que se relaciona.En otras palabras, en los que puede programarse su ejecución.

ProcessorAffinity representa a cada procesador como un bit.El bit 0 representa al procesador uno, el bit 1 representa al procesador dos, y así sucesivamente.En la tabla siguiente se muestra un subconjunto de los posibles valores de ProcessorAffinity para un sistema con cuatro procesadores.

Valor de propiedad (en hexadecimales)

Procesadores válidos

0x0001

1

0x0002

2

0x0003

1 ó 2

0x0004

3

0x0005

1 ó 3

0x0007

1, 2 ó 3

0x000F

1, 2, 3 ó 4

También es posible especificar un solo procesador preferido para un subproceso; para ello, hay que establecer la propiedad IdealProcessor.Un subproceso puede migrar de un procesador a otro y en cada migración se vuelve a cargar la caché del procesador.Si se especifica un procesador para un subproceso, se puede mejorar el rendimiento, cuando la carga del sistema es grande, mediante la reducción del número de veces que se vuelve a cargar la caché del procesador.

En el siguiente ejemplo se muestra cómo establecer la propiedad ProcessorAffinity en una instancia del Bloc de notas para el primer procesador.

Imports System
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

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar:
© 2016 Microsoft