Process.ProcessorAffinity Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define os processadores nos quais os threads desse processo podem ser agendados para execução.
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
Valor da propriedade
nativeint
Um bitmask que representa os processadores nos quais os threads do processo associado podem ser executados. O padrão depende do número de processadores no computador. O valor padrão é 2 n -1, em que n é o número de processadores.
- Atributos
Exceções
As informações de ProcessorAffinity não puderam ser definidas nem recuperadas do recurso do processo associado.
- ou -
O identificador de processo é zero. (O processo não foi iniciado.)
Você está tentando acessar a propriedade ProcessorAffinity para um processo que está sendo executado em um computador remoto. Essa propriedade está disponível somente para processos em execução no computador local.
Comentários
O valor retornado por essa propriedade representa a afinidade atualizada mais recentemente do processo. Para obter a afinidade mais atualizada, você precisa chamar Refresh() o método primeiro.
No Windows 2000 e posterior, um thread em um processo pode migrar de processador para processador, com cada migração recarregando o cache do processador. Em cargas pesadas do sistema, especificar qual processador deve executar um thread específico pode melhorar o desempenho reduzindo o número de vezes que o cache do processador é recarregado. A associação entre um processador e um thread é chamada de afinidade do processador.
Cada processador é representado como um bit. O bit 0 é processador um, bit 1 é processador dois e assim por diante. Se você definir um bit como o valor 1, o processador correspondente será selecionado para atribuição de thread. Quando você define o ProcessorAffinity valor como zero, os algoritmos de agendamento do sistema operacional definem a afinidade do thread. Quando o ProcessorAffinity valor é definido como qualquer valor diferente de zero, o valor é interpretado como uma máscara de bits que especifica os processadores qualificados para seleção.
A tabela a seguir mostra uma seleção de ProcessorAffinity valores para um sistema de oito processadores.
Bitmask | Valor binário | Processadores qualificados |
---|---|---|
0x0001 | 00000000 00000001 | 1 |
0x0003 | 00000000 00000011 | 1 e 2 |
0x0007 | 00000000 00000111 | 1, 2 e 3 |
0x0009 | 00000000 00001001 | 1 e 4 |
0x007F | 00000000 01111111 | 1, 2, 3, 4, 5, 6 e 7 |