次の方法で共有


PolicyElementKey 列挙型

ポリシー キーは、スケジューラの動作をさまざまな側面から表します。 各ポリシー要素は、キーと値の組み合わせで表現されます。 スケジューラ ポリシーと、スケジューラに対するその影響の詳細については、「タスク スケジューラ (同時実行ランタイム)」を参照してください。

enum PolicyElementKey;

メンバー

名前

説明

ContextPriority

スケジューラの各コンテキストに対するオペレーティング システム スレッドの優先度。 このキーの値を INHERIT_THREAD_PRIORITY に設定した場合、スケジューラ内のコンテキストは、そのスケジューラを作成したスレッドの優先度を継承します。

有効な値: Windows の SetThreadPriority 関数で有効なすべての値、および特殊な値 INHERIT_THREAD_PRIORITY

既定値: THREAD_PRIORITY_NORMAL

ContextStackSize

スケジューラ内の各コンテキストの予約済みのスタック サイズ (キロバイト単位)。

有効な値: 正の整数

既定値: 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

名前空間: Concurrency

参照

参照

Concurrency 名前空間

SchedulerPolicy クラス

CurrentScheduler クラス

Scheduler クラス

その他の技術情報

タスク スケジューラ (同時実行ランタイム)