Process.ProcessorAffinity Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é
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.
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 |