Process.ProcessorAffinity 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 프로세스에 포함된 스레드의 실행을 예약할 수 있는 프로세서를 가져오거나 설정합니다.
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
속성 값
nativeint
연결된 프로세스의 스레드가 실행될 수 있는 프로세서를 나타내는 비트 마스크입니다. 기본값은 컴퓨터의 프로세서 수에 따라 다릅니다. 기본값은 2 n -1입니다. 여기서 n은 프로세서 수입니다.
- 특성
예외
ProcessorAffinity 정보를 연결된 프로세스 리소스에서 설정하거나 검색할 수 없습니다.
또는
프로세스 식별자 또는 프로세스 핸들이 0입니다. (프로세스가 시작되지 않았습니다.)
원격 컴퓨터에서 실행 중인 프로세스의 ProcessorAffinity 속성에 액세스하려고 합니다. 이 속성은 로컬 컴퓨터에서 실행되는 프로세스에만 사용할 수 있습니다.
설명
이 속성에서 반환되는 값은 프로세스의 가장 최근에 새로 고친 선호도를 나타냅니다. 최신 선호도를 최대한 활용하려면 먼저 메서드를 호출 Refresh() 해야 합니다.
Windows 2000 이상에서는 프로세스의 스레드가 프로세서에서 프로세서로 마이그레이션할 수 있으며 각 마이그레이션은 프로세서 캐시를 다시 로드합니다. 시스템 부하가 많은 상태에서 특정 스레드를 실행해야 하는 프로세서를 지정하면 프로세서 캐시가 다시 로드되는 횟수를 줄여 성능을 향상시킬 수 있습니다. 프로세서와 스레드 간의 연결을 프로세서 선호도라고 합니다.
각 프로세서는 비트로 표시됩니다. 비트 0은 프로세서 1, 비트 1은 프로세서 2 등입니다. 값을 1로 조금 설정하면 스레드 할당을 위해 해당 프로세서가 선택됩니다. 값을 0으로 설정 ProcessorAffinity 하면 운영 체제의 예약 알고리즘이 스레드의 선호도를 설정합니다. 값이 ProcessorAffinity 0이 아닌 값으로 설정되면 이 값은 선택 가능한 프로세서를 지정하는 비트 마스크로 해석됩니다.
다음 표에서는 8개 프로세서 시스템에 대한 값의 ProcessorAffinity 선택을 보여줍니다.
비트 마스크 | 이진 값 | 적격 프로세서 |
---|---|---|
0x0001 | 00000000 00000001 | 1 |
0x0003 | 00000000 00000011 | 1과 2 |
0x0007 | 00000000 00000111 | 1, 2 및 3 |
0x0009 | 00000000 00001001 | 1 및 4 |
0x007F | 00000000 01111111 | 1, 2, 3, 4, 5, 6 및 7 |
적용 대상
.NET