Sdílet prostřednictvím


SchedulerPolicy – třída

Třída SchedulerPolicy obsahuje sadu párů klíč/hodnota, jeden pro každý prvek zásady, který řídí chování instance plánovače.

Syntaxe

class SchedulerPolicy;

Členové

Veřejné konstruktory

Jméno popis
SchedulerPolicy Přetíženo. Vytvoří novou zásadu plánovače a naplní ji hodnotami pro klíče zásad podporované plánovači Concurrency Runtime a Resource Managerem.
~SchedulerPolicy – destruktor Zničí zásadu plánovače.

Veřejné metody

Jméno popis
GetPolicyValue Načte hodnotu klíče zásady zadaného key jako parametr.
SetConcurrencyLimits Současně nastaví objekt MinConcurrency a MaxConcurrency zásady SchedulerPolicy .
SetPolicyValue Nastaví hodnotu klíče zásady zadaného key jako parametr a vrátí starou hodnotu.

Veřejné operátory

Jméno popis
operator= Přiřadí zásadu plánovače z jiné zásady plánovače.

Poznámky

Další informace o zásadách, které lze řídit pomocí SchedulerPolicy třídy, naleznete v tématu PolicyElementKey.

Hierarchie dědičnosti

SchedulerPolicy

Požadavky

Hlavička: concrt.h, concrtrm.h

Obor názvů: souběžnost

GetPolicyValue

Načte hodnotu klíče zásady zadaného key jako parametr.

unsigned int GetPolicyValue(PolicyElementKey key) const;

Parametry

key
Klíč zásady pro načtení hodnoty.

Vrácená hodnota

Pokud je klíč zadaný parametrem key podporovaný, hodnota zásady pro přetypování klíče na hodnotu unsigned int.

Poznámky

Metoda vyvolá invalid_scheduler_policy_key pro neplatný klíč zásady.

operator=

Přiřadí zásadu plánovače z jiné zásady plánovače.

SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);

Parametry

_RhsPolicy
Zásady, které se mají přiřadit k této zásadě.

Vrácená hodnota

Odkaz na zásady plánovače.

Poznámky

Nejpohodlnější způsob, jak definovat novou zásadu plánovače, je často zkopírovat existující zásadu a upravit ji pomocí SetPolicyValue metod nebo SetConcurrencyLimits metod.

SchedulerPolicy

Vytvoří novou zásadu plánovače a naplní ji hodnotami pro klíče zásad podporované plánovači Concurrency Runtime a Resource Managerem.

SchedulerPolicy();

SchedulerPolicy(
    size_t _PolicyKeyCount,
...);

SchedulerPolicy(
    const SchedulerPolicy& _SrcPolicy);

Parametry

_PolicyKeyCount
Počet párů klíč/hodnota, které následují za parametrem _PolicyKeyCount .

_SrcPolicy
Zdrojová zásada, která se má kopírovat.

Poznámky

První konstruktor vytvoří novou zásadu plánovače, kde se všechny zásady inicializují na výchozí hodnoty.

Druhý konstruktor vytvoří novou zásadu plánovače, která používá styl pojmenovaného parametru inicializace. Hodnoty za parametrem _PolicyKeyCount se zadají jako páry klíč/hodnota. Jakýkoli klíč zásad, který není zadán v tomto konstruktoru, bude mít výchozí hodnotu. Tento konstruktor může vyvolat výjimky invalid_scheduler_policy_key, invalid_scheduler_policy_value nebo invalid_scheduler_policy_thread_specification.

Třetí konstruktor je konstruktor kopírování. Nejpohodlnější způsob, jak definovat novou zásadu plánovače, je často zkopírovat existující zásadu a upravit ji pomocí SetPolicyValue metod nebo SetConcurrencyLimits metod.

~SchedulerPolicy

Zničí zásadu plánovače.

~SchedulerPolicy();

SetConcurrencyLimits

Současně nastaví objekt MinConcurrency a MaxConcurrency zásady SchedulerPolicy .

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

Parametry

_MinConcurrency
Hodnota MinConcurrency klíče zásady.

_MaxConcurrency
Hodnota MaxConcurrency klíče zásady.

Poznámky

Metoda vyvolá invalid_scheduler_policy_thread_specification , pokud je hodnota zadaná pro MinConcurrency zásadu větší než hodnota zadaná pro zásadu MaxConcurrency .

Metoda může také vyvolat invalid_scheduler_policy_value pro jiné neplatné hodnoty.

SetPolicyValue

Nastaví hodnotu klíče zásady zadaného key jako parametr a vrátí starou hodnotu.

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

Parametry

key
Klíč zásad pro nastavení hodnoty.

value
Hodnota, na kterou chcete nastavit klíč zásady.

Vrácená hodnota

Pokud je klíč zadaný parametrem key podporovaný, stará hodnota zásady pro přetypování klíče na hodnotu unsigned int.

Poznámky

Metoda vyvolá invalid_scheduler_policy_key pro neplatný klíč zásady nebo jakýkoli klíč zásad, jehož hodnotu nemůže metoda nastavit SetPolicyValue .

Metoda vyvolá invalid_scheduler_policy_value pro hodnotu, která není podporována pro klíč určený parametrem key .

Všimněte si, že tato metoda není povolena k nastavení MinConcurrency zásad.MaxConcurrency K nastavení těchto hodnot použijte SetConcurrencyLimits metoda.

Viz také

concurrency – obor názvů
PolicyElementKey
CurrentScheduler – třída
Scheduler – třída
Plánovač úloh