SchedulerPolicy 類別
SchedulerPolicy
類別包含一組索引鍵/值組,每個原則項目一個,可控制排程器執行個體的行為。
語法
class SchedulerPolicy;
成員
公用建構函式
名稱 | 描述 |
---|---|
SchedulerPolicy | 已多載。 建構新的排程器原則,並填入並行運行時間排程器和 Resource Manager 所支援的原則索引鍵值。 |
~SchedulerPolicy 解構函式 | 終結排程器原則。 |
公用方法
名稱 | 描述 |
---|---|
GetPolicyValue | 擷取提供做為 key 參數的原則索引鍵值。 |
SetConcurrencyLimits | 同時設定 MinConcurrency 物件上的 SchedulerPolicy 和 MaxConcurrency 原則。 |
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
要指派給此原則的原則。
傳回值
排程器原則的參考。
備註
通常,定義新的排程器原則最方便的方法是複製現有的原則,並使用 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。
第三個建構函式是複製建構函式。 通常,定義新的排程器原則最方便的方法是複製現有的原則,並使用 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。
方法也可以針對其他無效值擲回 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。
請注意,這個方法不允許設定 MinConcurrency
或 MaxConcurrency
原則。 若要設定這些值,請使用 SetConcurrencyLimits 方法。
另請參閱
concurrency 命名空間
PolicyElementKey
CurrentScheduler 類別
Scheduler 類別
工作排程器