SchedulerPolicy 類別

SchedulerPolicy 類別包含一組索引鍵/值組,每個原則項目一個,可控制排程器執行個體的行為。

語法

class SchedulerPolicy;

成員

公用建構函式

名稱 描述
SchedulerPolicy 已多載。 建構新的排程器原則,並填入並行執行時間排程器和 Resource Manager 所支援的原則索引鍵
~SchedulerPolicy 解構函式 終結排程器原則。

公用方法

名稱 描述
GetPolicyValue 擷取提供做為 key 參數的原則索引鍵值。
SetConcurrencyLimits 同時設定 MinConcurrency 物件上的 SchedulerPolicyMaxConcurrency 原則。
SetPolicyValue 設定提供做為 參數的原則索引鍵值, key 並傳回舊值。

公用運算子

名稱 描述
operator= 從另一個排程器原則指派排程器原則。

備註

如需可使用 類別控制 SchedulerPolicy 之原則的詳細資訊,請參閱 PolicyElementKey

繼承階層架構

SchedulerPolicy

需求

標頭: concrt.h、concrtrm.h

命名空間: concurrency

GetPolicyValue

擷取提供做為 key 參數的原則索引鍵值。

unsigned int GetPolicyValue(PolicyElementKey key) const;

參數

key
要擷取值的原則索引鍵。

傳回值

如果支援 參數指定的 key 索引鍵,則索引鍵的原則值會轉換成 unsigned int

備註

方法會針對不正確原則金鑰擲回 invalid_scheduler_policy_key

operator=

從另一個排程器原則指派排程器原則。

SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);

參數

_RhsPolicy
要指派給此原則的原則。

傳回值

排程器原則的參考。

備註

通常,定義新的排程器原則最方便的方法是複製現有的原則,並使用 SetPolicyValueSetConcurrencyLimits 方法修改。

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

第三個建構函式是複製建構函式。 通常,定義新的排程器原則最方便的方法是複製現有的原則,並使用 SetPolicyValueSetConcurrencyLimits 方法修改。

~SchedulerPolicy

終結排程器原則。

~SchedulerPolicy();

SetConcurrencyLimits

同時設定 MinConcurrency 物件上的 SchedulerPolicyMaxConcurrency 原則。

void SetConcurrencyLimits(
    unsigned int _MinConcurrency,
    unsigned int _MaxConcurrency = MaxExecutionResources);

參數

_MinConcurrency
原則索引鍵的值 MinConcurrency

_MaxConcurrency
原則索引鍵的值 MaxConcurrency

備註

如果為 MinConcurrency 原則指定的值大於為 MaxConcurrency 原則指定的值,此方法將會擲回 invalid_scheduler_policy_thread_specification

方法也可以針對其他無效值擲回 invalid_scheduler_policy_value

SetPolicyValue

設定提供做為 參數的原則索引鍵值, key 並傳回舊值。

unsigned int SetPolicyValue(
    PolicyElementKey key,
    unsigned int value);

參數

key
要為其設定值的原則索引鍵。

value
要設定原則索引鍵的值。

傳回值

如果支援 參數指定的 key 索引鍵,則金鑰轉換成 unsigned int 的舊原則值。

備註

方法會針對不正確原則索引鍵或任何方法無法設定 SetPolicyValue 其值的原則索引鍵擲回 invalid_scheduler_policy_key

方法會針對 參數所 key 指定的索引鍵不支援的值擲回 invalid_scheduler_policy_value

請注意,這個方法不允許設定 MinConcurrencyMaxConcurrency 原則。 若要設定這些值,請使用 SetConcurrencyLimits 方法。

另請參閱

concurrency 命名空間
PolicyElementKey
CurrentScheduler 類別
Scheduler 類別
工作排程器