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 nesse processo podem ser agendados para execução.
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
Valor da propriedade
nativeint
Uma máscara de bits que representa os processadores em que os threads no 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.
Exceções
ProcessorAffinity não foi possível definir ou recuperar informações do recurso de processo associado.
-ou-
O identificador de processo ou identificador de processo é zero. (O processo não foi iniciado.)
Você está tentando acessar a ProcessorAffinity propriedade para um processo em execução em um computador remoto. Essa propriedade está disponível apenas 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 de processador.
Cada processador é representado como um bit. O bit 0 é processador um, bit 1 é processador dois e assim por diante. Se você definir um pouco para 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 |