Process.ProcessorAffinity Propriedade

Definição

Obtém ou define os processadores onde os threads deste processo podem ser agendados para correr.

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 de Propriedade

IntPtr

nativeint

Uma máscara de bits que representa os processadores onde as threads do processo associado podem correr. O padrão depende do número de processadores no computador. O valor padrão é 2 n -1, onde n é o número de processadores.

Exceções

ProcessorAffinity a informação não podia ser definida ou recuperada do recurso de processo associado.

-ou-

O identificador do processo ou handle de processo é zero. (O processo ainda não foi iniciado.)

Está a tentar aceder à ProcessorAffinity propriedade de um processo que está a correr num computador remoto. Esta propriedade está disponível apenas para processos que estão a correr no computador local.

O processo Id não estava disponível.

-ou-

O processo terminou.

Observações

O valor devolvido por esta propriedade representa a afinidade mais recentemente renovada do processo. Para obter a afinidade mais atualizada, precisa de ligar Refresh() primeiro ao método.

No Windows 2000 e posteriores, um thread num processo pode migrar de processador para processador, com cada migração a recarregar a cache do processador. Sob cargas elevadas do sistema, especificar qual o processador que deve executar uma thread específica pode melhorar o desempenho ao reduzir o número de vezes que a cache do processador é recarregada. A associação entre um processador e uma thread chama-se afinidade de processador.

Cada processador é representado como um bit. O bit 0 é o processador um, o bit 1 é o processador dois, e assim sucessivamente. Se definir um bit para o valor 1, o processador correspondente é selecionado para atribuição de threads. Quando defines o ProcessorAffinity valor a zero, os algoritmos de agendamento do sistema operativo definem a afinidade do thread. Quando o ProcessorAffinity valor é definido para qualquer valor diferente de zero, o valor é interpretado como uma máscara de bits que especifica os processadores elegíveis para seleção.

A tabela seguinte mostra uma seleção de ProcessorAffinity valores para um sistema com oito processadores.

Bitmask Valor binário Processadores elegíveis
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

Aplica-se a