Process.ProcessorAffinity Propriété

Définition

Obtient ou définit les processeurs sur lesquels les threads de ce processus peuvent être planifiés pour s’exécuter.

public:
 property IntPtr ProcessorAffinity { IntPtr get(); void set(IntPtr value); };
public IntPtr ProcessorAffinity { get; set; }
member this.ProcessorAffinity : nativeint with get, set
Public Property ProcessorAffinity As IntPtr

Valeur de propriété

IntPtr

nativeint

Masque de bits représentant les processeurs sur lesquels les threads du processus associé peuvent s’exécuter. La valeur par défaut dépend du nombre de processeurs sur l’ordinateur. La valeur par défaut est 2 n -1, où n correspond au nombre de processeurs.

Exceptions

ProcessorAffinity les informations n’ont pas pu être définies ou récupérées à partir de la ressource de processus associée.

-ou-

L’identificateur de processus ou le handle de processus est égal à zéro. (Le processus n’a pas été démarré.)

Vous tentez d’accéder à la ProcessorAffinity propriété pour un processus en cours d’exécution sur un ordinateur distant. Cette propriété est disponible uniquement pour les processus qui s’exécutent sur l’ordinateur local.

Le processus Id n’était pas disponible.

-ou-

Le processus s’est arrêté.

Remarques

La valeur retournée par cette propriété représente l’affinité actualisée la plus récente du processus. Pour obtenir l’affinité la plus récente, vous devez d’abord appeler Refresh() la méthode.

Dans Windows 2000 et versions ultérieures, un thread d’un processus peut migrer du processeur au processeur, chaque migration rechargeant le cache du processeur. Sous de lourdes charges système, la spécification du processeur qui doit exécuter un thread spécifique peut améliorer les performances en réduisant le nombre de fois où le cache du processeur est rechargé. L’association entre un processeur et un thread est appelée affinité du processeur.

Chaque processeur est représenté sous la forme d’un peu. Bit 0 est processeur un, bit 1 est processeur deux, et ainsi de suite. Si vous définissez un peu sur la valeur 1, le processeur correspondant est sélectionné pour l’attribution de thread. Lorsque vous définissez la ProcessorAffinity valeur sur zéro, les algorithmes de planification du système d’exploitation définissent l’affinité du thread. Lorsque la ProcessorAffinity valeur est définie sur une valeur différente de zéro, la valeur est interprétée comme un masque de bits qui spécifie les processeurs éligibles à la sélection.

Le tableau suivant montre une sélection de ProcessorAffinity valeurs pour un système de huit processeurs.

Bitmask Valeur binaire Processeurs éligibles
0x0001 00000000 00000001 1
0x0003 00000000 00000011 1 et 2
0x0007 00000000 00000111 1, 2 et 3
0x0009 00000000 00001001 1 et 4
0x007F 00000000 01111111 1, 2, 3, 4, 5, 6 et 7

S’applique à