SchedulerPolicy-klasse

De SchedulerPolicy klasse bevat een set sleutel-/waardeparen, één voor elk beleidselement, waarmee het gedrag van een scheduler-exemplaar wordt bepaald.

Syntaxis

class SchedulerPolicy;

Leden

Openbare constructors

Naam Description
SchedulerPolicy Overbelast. Hiermee wordt een nieuw schedulerbeleid gemaakt en gevuld met waarden voor beleidssleutels die worden ondersteund door de Concurrency Runtime-planners en de Resource Manager.
~SchedulerPolicy Destructor Vernietigt een planningbeleid.

Openbare methoden

Naam Description
GetPolicyValue Haalt de waarde van de beleidssleutel op die is opgegeven als de key parameter.
SetConcurrencyLimits Hiermee stelt u tegelijkertijd het MinConcurrency en MaxConcurrency beleid voor het SchedulerPolicy object in.
SetPolicyValue Hiermee stelt u de waarde van de beleidssleutel in die is opgegeven als de key parameter en wordt de oude waarde geretourneerd.

Openbare operators

Naam Description
operator= Hiermee wijst u het scheduler-beleid toe vanuit een ander scheduler-beleid.

Opmerkingen

Zie SchedulerPolicy voor meer informatie over het beleid dat kan worden beheerd met behulp van de klasse.

Overnamehiërarchie

SchedulerPolicy

Requirements

Koptekst: concrt.h, concrtrm.h

Naamruimte: concurrentie

GetPolicyValue

Haalt de waarde van de beleidssleutel op die is opgegeven als de key parameter.

unsigned int GetPolicyValue(PolicyElementKey key) const;

Parameterwaarden

sleutel
De beleidssleutel waarvoor een waarde moet worden opgehaald.

Retourwaarde

Als de sleutel, gespecificeerd door de key parameter, wordt ondersteund, wordt de beleidswaarde voor de sleutel gecast naar een unsigned int.

Opmerkingen

De methode genereert invalid_scheduler_policy_key voor een ongeldige beleidssleutel.

operator=

Hiermee wijst u het scheduler-beleid toe vanuit een ander scheduler-beleid.

SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);

Parameterwaarden

_RhsPolicy
Het beleid dat toegewezen moet worden aan dit beleid.

Retourwaarde

Een verwijzing naar het scheduler-beleid.

Opmerkingen

Vaak is de handigste manier om een nieuw scheduler-beleid te definiëren een bestaand beleid te kopiëren en te wijzigen met behulp van de SetPolicyValue of SetConcurrencyLimits methoden.

SchedulerPolicy

Maakt een nieuw scheduler-beleid aan en geeft het waarden voor beleidssleutels die worden ondersteund door Concurrency Runtime-schedulers en de Resource Manager.

SchedulerPolicy();

SchedulerPolicy(
    size_t _PolicyKeyCount,
...);

SchedulerPolicy(
    const SchedulerPolicy& _SrcPolicy);

Parameterwaarden

_PolicyKeyCount
Het aantal sleutel-/waardeparen dat de _PolicyKeyCount parameter volgt.

_SrcPolicy
Het bronbeleid dat moet worden gekopieerd.

Opmerkingen

De eerste constructor maakt een nieuw scheduler-beleid waarin alle beleidsregels worden geïnitialiseerd naar de standaardwaarden.

De tweede constructor maakt een nieuw scheduler-beleid dat gebruikmaakt van een benoemde parameterstijl van initialisatie. Waarden na de _PolicyKeyCount parameter worden opgegeven als sleutel-waardeparen. Een beleidssleutel die niet in deze constructor is opgegeven, heeft de standaardwaarde. Deze constructor kan de uitzonderingen invalid_scheduler_policy_key, invalid_scheduler_policy_value of invalid_scheduler_policy_thread_specification genereren.

De derde constructor is een kopieconstructor. Vaak is de handigste manier om een nieuw scheduler-beleid te definiëren een bestaand beleid te kopiëren en te wijzigen met behulp van de SetPolicyValue of SetConcurrencyLimits methoden.

~SchedulerPolicy

Vernietigt een planningsbeleid.

~SchedulerPolicy();

Concurentielimieten instellen

Hiermee stelt u tegelijkertijd het MinConcurrency en MaxConcurrency beleid voor het SchedulerPolicy object in.

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

Parameterwaarden

_MinConcurrency
De waarde voor de MinConcurrency beleidssleutel.

_MaxConcurrency
De waarde voor de MaxConcurrency beleidssleutel.

Opmerkingen

De methode genereert invalid_scheduler_policy_thread_specification als de waarde die is opgegeven voor het MinConcurrency beleid groter is dan de waarde die is opgegeven voor het MaxConcurrency beleid.

De methode kan ook invalid_scheduler_policy_value voor andere ongeldige waarden gooien.

SetPolicyValue

Hiermee stelt u de waarde van de beleidssleutel in die is opgegeven als de key parameter en wordt de oude waarde geretourneerd.

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

Parameterwaarden

sleutel
De beleidssleutel waarvoor een waarde moet worden ingesteld.

value
De waarde om de beleidssleutel in te stellen.

Retourwaarde

Indien de door de key parameter opgegeven sleutel wordt ondersteund, wordt de oude beleidswaarde voor de sleutel gecast naar een unsigned int.

Opmerkingen

De methode genereert invalid_scheduler_policy_key voor een ongeldige beleidssleutel of een beleidssleutel waarvan de waarde niet door de SetPolicyValue methode kan worden ingesteld.

De methode genereert invalid_scheduler_policy_value voor een waarde die niet wordt ondersteund voor de sleutel die is opgegeven door de key parameter.

Houd er rekening mee dat deze methode niet is toegestaan om het MinConcurrency of MaxConcurrency beleid in te stellen. Als u deze waarden wilt instellen, gebruikt u de methode SetConcurrencyLimits .

Zie ook

concurrentie Namespace
PolicyElementKey
CurrentScheduler-klasse
Scheduler-klasse
Taakplanner