Partager via


Process.ProcessorAffinity Propriété

Définition

Obtient ou définit les processeurs sur lesquels l'exécution des threads de ce processus peut être planifiée.

public:
 property IntPtr ProcessorAffinity { IntPtr get(); void set(IntPtr value); };
public IntPtr ProcessorAffinity { get; set; }
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
[System.Runtime.Versioning.SupportedOSPlatform("linux")]
public IntPtr ProcessorAffinity { get; set; }
member this.ProcessorAffinity : nativeint with get, set
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
[<System.Runtime.Versioning.SupportedOSPlatform("linux")>]
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 dont est équipé l'ordinateur. La valeur par défaut est 2 n -1, où n est le nombre de processeurs.

Attributs

Exceptions

Nous n’avons pas pu définir ou récupérer des informations ProcessorAffinity à partir de la ressource de processus associée.

- ou -

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

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

Le processus Id n’était pas disponible.

- ou -

Le processus s’est fermé.

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. En cas de charges système lourdes, 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 bit. Bit 0 est processeur 1, bit 1 est processeur 2, et ainsi de suite. Si vous définissez un bit 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 à huit processeurs.

Masque 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 à