Compartir a través de


SchedulerPolicy (Clase)

La clase SchedulerPolicy contiene un conjunto de pares clave-valor, uno para cada elemento de directiva, que controla el comportamiento de una instancia del programador.

Sintaxis

class SchedulerPolicy;

Miembros

Constructores públicos

Nombre Descripción
SchedulerPolicy Con sobrecarga. Construye una nueva directiva del programador y la llena con valores para claves de directiva admitidas por programadores del Runtime de simultaneidad y el Administrador de recursos.
~SchedulerPolicy (destructor) Destruye una directiva de programador.

Métodos públicos

Nombre Descripción
GetPolicyValue Recupera el valor de la clave de directiva proporcionado como el parámetro key.
SetConcurrencyLimits Simultáneamente establece las directivas MinConcurrency y MaxConcurrency en el objeto SchedulerPolicy.
SetPolicyValue Establece el valor de la clave de directiva proporcionado como el parámetro key y devuelve el valor anterior.

Operadores públicos

Nombre Descripción
operator= Asigna la directiva de programador a partir de otra directiva de programador.

Comentarios

Para obtener más información sobre las directivas que se pueden controlar usando la clase SchedulerPolicy, vea PolicyElementKey.

Jerarquía de herencia

SchedulerPolicy

Requisitos

Encabezado: concrt.h, concrtrm.h

Espacio de nombres: simultaneidad

GetPolicyValue

Recupera el valor de la clave de directiva proporcionado como el parámetro key.

unsigned int GetPolicyValue(PolicyElementKey key) const;

Parámetros

key
Clave de directiva para la que se va a recuperar un valor.

Valor devuelto

Si se admite la clave especificada por el parámetro key, el valor de directiva de la clave se convierte en un atributo unsigned int.

Comentarios

El método iniciará invalid_scheduler_policy_key para una clave de directiva no válida.

operator=

Asigna la directiva de programador a partir de otra directiva de programador.

SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);

Parámetros

_RhsPolicy
Directiva que se va a asignar a esta directiva.

Valor devuelto

Referencia a la directiva del programador.

Comentarios

A menudo, la manera más conveniente de definir una nueva directiva del programador es copiar una directiva existente y modificarla mediante los métodos SetPolicyValue o SetConcurrencyLimits.

SchedulerPolicy

Construye una nueva directiva del programador y la llena con valores para claves de directiva admitidas por programadores del Runtime de simultaneidad y el Administrador de recursos.

SchedulerPolicy();

SchedulerPolicy(
    size_t _PolicyKeyCount,
...);

SchedulerPolicy(
    const SchedulerPolicy& _SrcPolicy);

Parámetros

_PolicyKeyCount
El número de pares clave-valor que sigue al parámetro _PolicyKeyCount.

_SrcPolicy
La directiva de origen que se va a copiar.

Comentarios

El primer constructor crea una nueva directiva de programador donde todas las directivas se inicializarán en sus valores predeterminado.

El segundo constructor crea una nueva directiva del programador que usa un estilo de inicialización de parámetro con nombre. Los valores que aparecen después del parámetro _PolicyKeyCount se proporcionan como pares clave-valor. Cualquier clave de directiva que no se especifique en este constructor tendrá su valor predeterminado. Este constructor podría producir las excepciones invalid_scheduler_policy_key, invalid_scheduler_policy_value o invalid_scheduler_policy_thread_specification.

El tercer constructor es un constructor de copias. A menudo, la manera más conveniente de definir una nueva directiva del programador es copiar una directiva existente y modificarla mediante los métodos SetPolicyValue o SetConcurrencyLimits.

~SchedulerPolicy

Destruye una directiva de programador.

~SchedulerPolicy();

SetConcurrencyLimits

Simultáneamente establece las directivas MinConcurrency y MaxConcurrency en el objeto SchedulerPolicy.

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

Parámetros

_MinConcurrency
Valor para la clave de directiva MinConcurrency.

_MaxConcurrency
Valor para la clave de directiva MaxConcurrency.

Comentarios

El método iniciará invalid_scheduler_policy_thread_specification si el valor especificado para la directiva MinConcurrency es mayor que el especificado para la directiva MaxConcurrency.

El método también puede iniciar invalid_scheduler_policy_value para otros valores no válidos.

SetPolicyValue

Establece el valor de la clave de directiva proporcionado como el parámetro key y devuelve el valor anterior.

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

Parámetros

key
Clave de directiva para la que se va a establecer un valor.

value
Valor en el que se va a establecer la clave de directiva.

Valor devuelto

Si se admite la clave especificada por el parámetro key, el valor de directiva anterior de la clave se convierte en un atributo unsigned int.

Comentarios

El método iniciará invalid_scheduler_policy_key para una clave de directiva no válida o cualquier clave de directiva cuyo valor no se pueda establecer mediante el método SetPolicyValue.

El método iniciará invalid_scheduler_policy_value para un valor que no se admite para la clave especificada por el parámetro key.

Tenga en cuenta que este método no se admite para establecer las directivas MinConcurrency o MaxConcurrency. Para establecer estos valores, use el método SetConcurrencyLimits.

Consulte también

concurrency (espacio de nombres)
PolicyElementKey
CurrentScheduler (clase)
Scheduler (clase)
Programador de tareas