Condividi tramite


Classe SchedulerPolicy

La classe SchedulerPolicy contiene un set di coppie chiave/valore, uno per ogni elemento dei criteri, che controllano il comportamento di un'istanza dell'utilità di pianificazione.

Sintassi

class SchedulerPolicy;

Membri

Costruttori pubblici

Nome Descrizione
SchedulerPolicy Con overload. Costruisce un nuovo criterio dell'utilità di pianificazione e lo popola con i valori per le chiavi dei criteri supportate dalle utilità di pianificazione del runtime di concorrenza e da Resource Manager.
Distruttore ~SchedulerPolicy Elimina definitivamente un criterio dell'utilità di pianificazione.

Metodi pubblici

Nome Descrizione
GetPolicyValue Recupera il valore della chiave dei criteri fornita come key parametro.
SetConcurrencyLimits Imposta contemporaneamente i MinConcurrency criteri e MaxConcurrency sull'oggetto SchedulerPolicy .
SetPolicyValue Imposta il valore della chiave dei criteri fornita come key parametro e restituisce il valore precedente.

Operatori pubblici

Nome Descrizione
operator= Assegna i criteri dell'utilità di pianificazione da un altro criterio dell'utilità di pianificazione.

Osservazioni:

Per altre informazioni sui criteri che possono essere controllati tramite la SchedulerPolicy classe , vedere PolicyElementKey.

Gerarchia di ereditarietà

SchedulerPolicy

Requisiti

Intestazione: concrt.h, concrtrm.h

Spazio dei nomi: Concurrency

GetPolicyValue

Recupera il valore della chiave dei criteri fornita come key parametro.

unsigned int GetPolicyValue(PolicyElementKey key) const;

Parametri

key
Chiave dei criteri per cui recuperare un valore.

Valore restituito

Se la chiave specificata dal key parametro è supportata, il valore del criterio per la chiave di cui è stato eseguito il cast a un oggetto unsigned int.

Osservazioni:

Il metodo genererà invalid_scheduler_policy_key per una chiave di criteri non valida.

operator=

Assegna i criteri dell'utilità di pianificazione da un altro criterio dell'utilità di pianificazione.

SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);

Parametri

_RhsPolicy
Criteri da assegnare a questo criterio.

Valore restituito

Riferimento ai criteri dell'utilità di pianificazione.

Osservazioni:

Spesso, il modo più semplice per definire nuovi criteri dell'utilità di pianificazione consiste nel copiare i criteri esistenti e nel modificarli tramite i metodi SetPolicyValue o SetConcurrencyLimits.

SchedulerPolicy

Costruisce un nuovo criterio dell'utilità di pianificazione e lo popola con i valori per le chiavi dei criteri supportate dalle utilità di pianificazione del runtime di concorrenza e da Resource Manager.

SchedulerPolicy();

SchedulerPolicy(
    size_t _PolicyKeyCount,
...);

SchedulerPolicy(
    const SchedulerPolicy& _SrcPolicy);

Parametri

_PolicyKeyCount
Numero di coppie chiave/valore che seguono il _PolicyKeyCount parametro .

_SrcPolicy
Criteri di origine da copiare.

Osservazioni:

Il primo costruttore crea un nuovo criterio dell'utilità di pianificazione in cui tutti i criteri verranno inizializzati sui valori predefiniti.

Il secondo costruttore crea un nuovo criterio dell'utilità di pianificazione che usa uno stile denominato-parametro di inizializzazione. I valori dopo che il _PolicyKeyCount parametro vengono forniti come coppie chiave/valore. Qualsiasi chiave dei criteri non specificata in questo costruttore avrà il valore predefinito. Questo costruttore potrebbe generare le eccezioni invalid_scheduler_policy_key, invalid_scheduler_policy_value o invalid_scheduler_policy_thread_specification.

Il terzo costruttore è un costruttore di copia. Spesso, il modo più semplice per definire nuovi criteri dell'utilità di pianificazione consiste nel copiare i criteri esistenti e nel modificarli tramite i metodi SetPolicyValue o SetConcurrencyLimits.

~SchedulerPolicy

Elimina definitivamente un criterio dell'utilità di pianificazione.

~SchedulerPolicy();

SetConcurrencyLimits

Imposta contemporaneamente i MinConcurrency criteri e MaxConcurrency sull'oggetto SchedulerPolicy .

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

Parametri

_MinConcurrency
Valore per la chiave del MinConcurrency criterio.

_MaxConcurrency
Valore per la chiave del MaxConcurrency criterio.

Osservazioni:

Il metodo genererà invalid_scheduler_policy_thread_specification se il valore specificato per il MinConcurrency criterio è maggiore di quello specificato per il MaxConcurrency criterio.

Il metodo può anche generare invalid_scheduler_policy_value per altri valori non validi.

SetPolicyValue

Imposta il valore della chiave dei criteri fornita come key parametro e restituisce il valore precedente.

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

Parametri

key
Chiave dei criteri per cui impostare un valore.

value
Valore su cui impostare la chiave dei criteri.

Valore restituito

Se la chiave specificata dal key parametro è supportata, il valore del criterio precedente per la chiave di cui è stato eseguito il cast a un oggetto unsigned int.

Osservazioni:

Il metodo genererà invalid_scheduler_policy_key per una chiave di criteri non valida o per qualsiasi chiave dei criteri il SetPolicyValue cui valore non può essere impostato dal metodo .

Il metodo genererà invalid_scheduler_policy_value per un valore non supportato per la chiave specificata dal key parametro .

Si noti che questo metodo non è autorizzato a impostare i MinConcurrency criteri o MaxConcurrency . Per impostare questi valori, usare il metodo SetConcurrencyLimits .

Vedi anche

Spazio dei nomi concurrency
PolicyElementKey
Classe CurrentScheduler
Classe Scheduler
Utilità di pianificazione