Freigeben über


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