PolicyElementKey 열거형

스케줄러 동작의 측면을 설명하는 정책 키입니다. 각 정책 요소는 키-값 쌍으로 설명됩니다. 스케줄러 정책 및 스케줄러에 미치는 영향에 대한 자세한 내용은 작업 스케줄러(동시성 런타임)를 참조하십시오.

enum PolicyElementKey;

멤버

Name

설명

ContextPriority

스케줄러에서 각 컨텍스트의 운영 체제 스레드 우선 순위입니다. 이 키가 값 INHERIT_THREAD_PRIORITY로 설정된 경우 스케줄러의 컨텍스트는 스케줄러를 만든 스레드의 우선 순위를 상속합니다.

유효한 값: Windows SetThreadPriority 함수 및 특수 값 INHERIT_THREAD_PRIORITY에 유효한 모든 값

기본값은 THREAD_PRIORITY_NORMAL입니다.

ContextStackSize

스케줄러에서 각 컨텍스트의 예약된 스택 크기는 KB 단위입니다.

유효한 값: 양의 정수

사용할 스택 크기에 대한 프로세스 기본값을 나타내는 기본값: 0입니다.

DynamicProgressFeedback

스케줄러에 대한 리소스를 스케줄러에서 수집한 통계 정보에 따라 재조정할지 또는 내부 하드웨어 스레드의 구독 수준만을 기준으로 할지 결정합니다. 자세한 내용은 DynamicProgressFeedbackType 열거형을 참조하십시오.

유효한 값: DynamicProgressFeedbackType 열거의 멤버, ProgressFeedbackEnabled 또는 ProgressFeedbackDisabled

기본값은 ProgressFeedbackEnabled입니다.

LocalContextCacheSize

SchedulingProtocol 정책 키가 값 EnhanceScheduleGroupLocality로 설정되면 가상 프로세서 로컬 큐에 캐시될 실행 가능 컨텍스트의 최대 수를 지정합니다. 이런 컨텍스트는 일반적으로 실행 가능하게 만들어준 가상 프로세서에서 LIFO(후입선출) 방식으로 실행됩니다. SchedulingProtocol 키가 값 EnhanceForwardProgress로 설정되면 이 정책 키는 의미가 없습니다.

유효한 값: 음수가 아닌 정수

기본값은 8입니다.

MaxConcurrency

스케줄러에서 필요한 최대 동시성 수준입니다. 리소스 관리자는 처음에 많은 가상 프로세서를 할당합니다. 특수 값 MaxExecutionResources는 원하는 동시성 수준이 시스템에 있는 하드웨어 스레드 수와 같다는 것을 나타냅니다. MinConcurrency에 지정된 값이 시스템에 있는 하드웨어 스레드 수보다 크고 MaxConcurrencyMaxExecutionResources로 지정된 경우 MaxConcurrency에 대한 값은 MinConcurrency에 대해 설정된 것과 일치하도록 높아집니다.

유효한 값: 양의 정수 및 특수 값 MaxExecutionResources

기본값은 MaxExecutionResources입니다.

MaxPolicyElementKey

최대 정책 요소 키입니다. 유효한 요소 키가 없습니다.

MinConcurrency

리소스 관리자가 스케줄러에 제공해야 하는 최소 동시성 수준입니다. 스케줄러에 할당된 가상 프로세서의 수는 최소값 아래로 떨어지지 않습니다. 특수 값 MaxExecutionResources는 최소 동시성 수준이 시스템에 있는 하드웨어 스레드 수와 같다는 것을 나타냅니다. MaxConcurrency에 지정된 값이 시스템에 있는 하드웨어 스레드 수보다 작고 MinConcurrencyMaxExecutionResources로 지정된 경우 MinConcurrency에 대한 값은 MaxConcurrency에 대해 설정된 것과 일치하도록 낮아집니다.

유효한 값: 음수가 아닌 정수 및 특수 값 MaxExecutionResources. 동시성 런타임의 설정에 사용되는 스케줄러 정책 또는 SchedulerKind 정책 키가 값 UMSThreadDefault로 설정된 정책의 경우 값 0은 잘못된 것입니다.

기본값은 1입니다.

SchedulerKind

스케줄러가 기본 실행 컨텍스트에 사용할 스레드의 형식입니다. 자세한 내용은 SchedulerType 열거형을 참조하십시오.

유효한 값: SchedulerType 열거의 멤버, ThreadScheduler 또는 UmsThreadDefault

기본값은 ThreadScheduler입니다. 모든 운영 체제에서 Win32 스레드를 변환합니다.

SchedulingProtocol

스케줄러가 어떤 스케줄링 알고리즘을 사용할지 설명합니다. 자세한 내용은 SchedulingProtocolType 열거형을 참조하십시오.

유효한 값: SchedulingProtocolType 열거의 멤버, EnhanceScheduleGroupLocality 또는 EnhanceForwardProgress

기본값은 EnhanceScheduleGroupLocality입니다.

TargetOversubscriptionFactor

하드웨어 스레드 당 가상 프로세서의 미정 수입니다. 대상 초과 구독 비율은 필요할 경우 리소스 관리자가 증가시켜 시스템의 하드웨어 스레드를 사용하여 MaxConcurrency를 만족시킵니다.

유효한 값: 양의 정수

기본값은 1입니다.

요구 사항

헤더: concrt.h

네임스페이스: 동시성

참고 항목

참조

동시성 네임스페이스

SchedulerPolicy 클래스

CurrentScheduler 클래스

Scheduler 클래스

개념

작업 스케줄러(동시성 런타임)