Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

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 IntPtr ProcessorAffinity { set; }

Valor de propiedad

Tipo: 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.

ExcepciónCondición
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.


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;
        }
    }
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft