SchedulerPolicy 클래스
SchedulerPolicy
클래스에는 정책 요소마다 하나씩, 스케줄러 인스턴스의 동작을 제어하는 키/값 쌍 집합을 포함합니다.
구문
class SchedulerPolicy;
멤버
공용 생성자
속성 | 설명 |
---|---|
SchedulerPolicy | 오버로드됨. 새 스케줄러 정책을 생성하고 동시성 런타임 스케줄러 및 Resource Manager에서 지원하는 정책 키에 대한 값으로 채웁니다. |
~SchedulerPolicy 소멸자 | 스케줄러 정책을 삭제합니다. |
공용 메서드
이름 | 설명 |
---|---|
GetPolicyValue | 매개 변수로 제공된 정책 키의 값을 검색합니다 key . |
SetConcurrencyLimits | 개체에 대한 MinConcurrency SchedulerPolicy 정책 및 MaxConcurrency 정책을 동시에 설정합니다. |
SetPolicyValue | 매개 변수로 key 제공된 정책 키의 값을 설정하고 이전 값을 반환합니다. |
Public 연산자
속성 | 설명 |
---|---|
operator= | 다른 스케줄러 정책에서 스케줄러 정책을 할당합니다. |
설명
클래스를 사용하여 제어할 수 있는 정책에 대한 자세한 내용은 PolicyElementKey를 SchedulerPolicy
참조 하세요.
상속 계층 구조
SchedulerPolicy
요구 사항
헤더: concrt.h, concrtrm.h
네임스페이스: 동시성
GetPolicyValue
매개 변수로 제공된 정책 키의 값을 검색합니다 key
.
unsigned int GetPolicyValue(PolicyElementKey key) const;
매개 변수
key
값을 검색할 정책 키입니다.
Return Value
매개 변수에 지정된 key
키가 지원되는 경우 키에 대한 정책 값이 .로 캐스팅됩니다 unsigned int
.
설명
메서드가 잘못된 정책 키에 대한 invalid_scheduler_policy_key throw합니다.
operator=
다른 스케줄러 정책에서 스케줄러 정책을 할당합니다.
SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);
매개 변수
_RhsPolicy
이 정책에 할당할 정책입니다.
Return Value
스케줄러 정책에 대한 참조입니다.
설명
대부분의 경우 새로운 스케줄러 정책을 정의하는 가장 편리한 방법은 기존 정책을 복사한 후 SetPolicyValue
또는 SetConcurrencyLimits
메서드를 사용하여 수정하는 것입니다.
SchedulerPolicy
새 스케줄러 정책을 생성하고 동시성 런타임 스케줄러 및 Resource Manager에서 지원하는 정책 키에 대한 값으로 채웁니다.
SchedulerPolicy();
SchedulerPolicy(
size_t _PolicyKeyCount,
...);
SchedulerPolicy(
const SchedulerPolicy& _SrcPolicy);
매개 변수
_PolicyKeyCount
매개 변수를 따르는 키/값 쌍의 수 _PolicyKeyCount
입니다.
_SrcPolicy
복사할 원본 정책입니다.
설명
첫 번째 생성자는 모든 정책이 기본값으로 초기화되는 새 스케줄러 정책을 만듭니다.
두 번째 생성자는 명명된 매개 변수 스타일의 초기화를 사용하는 새 스케줄러 정책을 만듭니다. 매개 변수 뒤의 _PolicyKeyCount
값은 키/값 쌍으로 제공됩니다. 이 생성자에 지정되지 않은 정책 키에는 기본값이 포함됩니다. 이 생성자는 invalid_scheduler_policy_key, invalid_scheduler_policy_value 또는 invalid_scheduler_policy_thread_specification 예외를 throw할 수 있습니다.
세 번째 생성자는 복사 생성자입니다. 대부분의 경우 새로운 스케줄러 정책을 정의하는 가장 편리한 방법은 기존 정책을 복사한 후 SetPolicyValue
또는 SetConcurrencyLimits
메서드를 사용하여 수정하는 것입니다.
~SchedulerPolicy
스케줄러 정책을 삭제합니다.
~SchedulerPolicy();
SetConcurrencyLimits
개체에 대한 MinConcurrency
SchedulerPolicy
정책 및 MaxConcurrency
정책을 동시에 설정합니다.
void SetConcurrencyLimits(
unsigned int _MinConcurrency,
unsigned int _MaxConcurrency = MaxExecutionResources);
매개 변수
_MinConcurrency
정책 키의 MinConcurrency
값입니다.
_MaxConcurrency
정책 키의 MaxConcurrency
값입니다.
설명
정책에 지정된 값이 정책에 대해 지정된 MinConcurrency
값보다 MaxConcurrency
크면 메서드가 invalid_scheduler_policy_thread_specification throw합니다.
메서드는 다른 잘못된 값에 대한 invalid_scheduler_policy_value throw할 수도 있습니다.
SetPolicyValue
매개 변수로 key
제공된 정책 키의 값을 설정하고 이전 값을 반환합니다.
unsigned int SetPolicyValue(
PolicyElementKey key,
unsigned int value);
매개 변수
key
값을 설정할 정책 키입니다.
value
정책 키를 설정할 값입니다.
Return Value
매개 변수에 지정된 key
키가 지원되는 경우 키에 대한 이전 정책 값이 .로 캐스팅됩니다 unsigned int
.
설명
메서드는 잘못된 정책 키 또는 메서드에서 값을 설정할 수 없는 정책 키에 SetPolicyValue
대한 invalid_scheduler_policy_key throw합니다.
메서드는 매개 변수로 지정된 key
키에 대해 지원되지 않는 값에 대한 invalid_scheduler_policy_value throw합니다.
이 메서드는 또는 MaxConcurrency
정책을 설정할 MinConcurrency
수 없습니다. 이러한 값을 설정하려면 SetConcurrencyLimits 메서드를 사용합니다.
참고 항목
concurrency 네임스페이스
PolicyElementKey
CurrentScheduler 클래스
Scheduler 클래스
작업 Scheduler