SchedulerPolicy-Klasse
Die SchedulerPolicy
-Klasse enthält einen Satz von Schlüssel-Wert-Paaren. Einen für jedes Richtlinienelement, von dem das Verhalten einer Planerinstanz gesteuert wird.
Syntax
class SchedulerPolicy;
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
SchedulerPolicy | Überladen. Erstellt eine neue Schedulerrichtlinie und füllt sie mit Werten für Richtlinienschlüssel auf, die von Concurrency Runtime-Schedulern und dem Ressourcen-Manager unterstützt werden. |
~SchedulerPolicy Destructor | Zerstört eine Planerrichtlinie. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
GetPolicyValue | Ruft den Wert des als key -Parameter angegebenen Richtlinienschlüssels ab. |
SetConcurrencyLimits | Legt gleichzeitig die MinConcurrency -Richtlinie und die MaxConcurrency -Richtlinie des SchedulerPolicy -Objekts fest. |
SetPolicyValue | Legt den Wert des Richtlinienschlüssels fest, der als key -Parameter angegeben wurde, und gibt den alten Wert zurück. |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
operator= | Weist die Planerrichtlinie von einer anderen Planerrichtlinie zu. |
Hinweise
Weitere Informationen zu den Richtlinien, die mithilfe der SchedulerPolicy
Klasse gesteuert werden können, finden Sie unter PolicyElementKey.
Vererbungshierarchie
SchedulerPolicy
Anforderungen
Kopfzeile: concrt.h, concrtrm.h
Namespace: Parallelität
GetPolicyValue
Ruft den Wert des als key
-Parameter angegebenen Richtlinienschlüssels ab.
unsigned int GetPolicyValue(PolicyElementKey key) const;
Parameter
key
Der Richtlinienschlüssel, für den ein Wert abgerufen werden soll.
Rückgabewert
Wenn der durch den key
Parameter angegebene Schlüssel unterstützt wird, wird der Richtlinienwert für den Schlüssel in einen unsigned int
.
Hinweise
Die Methode löst invalid_scheduler_policy_key für einen ungültigen Richtlinienschlüssel aus.
operator =
Weist die Planerrichtlinie von einer anderen Planerrichtlinie zu.
SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);
Parameter
_RhsPolicy
Die Richtlinie, die dieser Richtlinie zugewiesen werden soll.
Rückgabewert
Ein Verweis auf die Zeitplanrichtlinie.
Hinweise
Oft ist die zweckmäßigste Art, eine neue Planerrichtlinie zu definieren, das Kopieren einer vorhandenen Richtlinie und das anschließende Bearbeiten mit der SetPolicyValue
-Methode oder der SetConcurrencyLimits
-Methode.
SchedulerPolicy
Erstellt eine neue Schedulerrichtlinie und füllt sie mit Werten für Richtlinienschlüssel auf, die von Concurrency Runtime-Schedulern und dem Ressourcen-Manager unterstützt werden.
SchedulerPolicy();
SchedulerPolicy(
size_t _PolicyKeyCount,
...);
SchedulerPolicy(
const SchedulerPolicy& _SrcPolicy);
Parameter
_PolicyKeyCount
Die Anzahl der Schlüssel-Wert-Paare, die dem _PolicyKeyCount
-Parameter folgen.
_SrcPolicy
Die zu kopierende Quellrichtlinie.
Hinweise
Der erste Konstruktor erstellt eine neue Planerrichtlinie, bei der alle Richtlinien mit ihren Standardwerten initialisiert werden.
Der zweite Konstruktor erstellt eine neue Planerrichtlinie, die ein Initialisierungsformat mit benannten Parametern verwendet. Werte, nach dem der _PolicyKeyCount
-Parameter als Schlüssel-Wert-Paare angegeben wird. Jeder Richtlinienschlüssel, der nicht in diesem Konstruktor angegeben wird, verfügt über seinen Standardwert. Dieser Konstruktor kann die Ausnahmen invalid_scheduler_policy_key, invalid_scheduler_policy_value oder invalid_scheduler_policy_thread_specification auslösen.
Der dritte Konstruktor ist ein Kopierkonstruktor. Oft ist die zweckmäßigste Art, eine neue Planerrichtlinie zu definieren, das Kopieren einer vorhandenen Richtlinie und das anschließende Bearbeiten mit der SetPolicyValue
-Methode oder der SetConcurrencyLimits
-Methode.
~SchedulerPolicy
Zerstört eine Planerrichtlinie.
~SchedulerPolicy();
SetConcurrencyLimits
Legt gleichzeitig die MinConcurrency
-Richtlinie und die MaxConcurrency
-Richtlinie des SchedulerPolicy
-Objekts fest.
void SetConcurrencyLimits(
unsigned int _MinConcurrency,
unsigned int _MaxConcurrency = MaxExecutionResources);
Parameter
_MinConcurrency
Der Wert für den MinConcurrency
Richtlinienschlüssel.
_MaxConcurrency
Der Wert für den MaxConcurrency
Richtlinienschlüssel.
Hinweise
Die Methode löst invalid_scheduler_policy_thread_specification aus, wenn der für die MinConcurrency
Richtlinie angegebene Wert größer als der für die MaxConcurrency
Richtlinie angegebene Wert ist.
Die Methode kann auch invalid_scheduler_policy_value für andere ungültige Werte auslösen.
SetPolicyValue
Legt den Wert des Richtlinienschlüssels fest, der als key
-Parameter angegeben wurde, und gibt den alten Wert zurück.
unsigned int SetPolicyValue(
PolicyElementKey key,
unsigned int value);
Parameter
key
Der Richtlinienschlüssel, für den ein Wert festgelegt werden soll.
value
Der Wert, auf den der Richtlinienschlüssel festgelegt werden soll.
Rückgabewert
Wenn der durch den key
Parameter angegebene Schlüssel unterstützt wird, wird der alte Richtlinienwert für den Schlüssel in einen unsigned int
.
Hinweise
Die Methode löst invalid_scheduler_policy_key für einen ungültigen Richtlinienschlüssel oder einen Richtlinienschlüssel aus, deren Wert nicht durch die SetPolicyValue
Methode festgelegt werden kann.
Die Methode löst invalid_scheduler_policy_value für einen Wert aus, der für den durch den key
Parameter angegebenen Schlüssel nicht unterstützt wird.
Beachten Sie, dass diese Methode nicht berechtigt ist, die MinConcurrency
Richtlinien festzulegen MaxConcurrency
. Verwenden Sie zum Festlegen dieser Werte die SetConcurrencyLimits-Methode .
Siehe auch
Concurrency-Namespace
PolicyElementKey
CurrentScheduler-Klasse
Scheduler-Klasse
Aufgabenplanung