Compartilhar via


Process.ProcessorAffinity Propriedade

Definição

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

IntPtr

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.

O processo Id não estava disponível.

- ou -

O processo foi encerrado.

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

Aplica-se a