SchedulerPolicy 클래스

SchedulerPolicy 클래스에는 정책 요소마다 하나씩, 스케줄러 인스턴스의 동작을 제어하는 키/값 쌍 집합을 포함합니다.

구문

class SchedulerPolicy;

멤버

공용 생성자

속성 설명
SchedulerPolicy 오버로드됨. 새 스케줄러 정책을 생성하고 동시성 런타임 스케줄러 및 Resource Manager에서 지원하는 정책 키에 대한 값으로 채웁니다.
~SchedulerPolicy 소멸자 스케줄러 정책을 삭제합니다.

공용 메서드

이름 설명
GetPolicyValue 매개 변수로 제공된 정책 키의 값을 검색합니다 key .
SetConcurrencyLimits 개체에 대한 MinConcurrencySchedulerPolicy 정책 및 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

개체에 대한 MinConcurrencySchedulerPolicy 정책 및 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