Compartir a través de


La clase SchedulerPolicy

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 Sobrecargado Construye una nueva directiva de planificador y la llena con valores para claves de directiva admitidas por los planificadores del Tiempo de ejecución de simultaneidad y el Administrador de recursos.
~SchedulerPolicy destructor Destruye una política de planificación.

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 política para recuperar un valor.

Valor devuelto

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

Comentarios

El método lanzará invalid_scheduler_policy_key debido a una clave de directiva no válida.

operador =

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

SchedulerPolicy& operator= (const SchedulerPolicy& _RhsPolicy);

Parámetros

_RhsPolicy
Política que se va a asignar a esta política.

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 de planificador y la llena con valores para claves de directiva admitidas por los planificadores del Tiempo de ejecución 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 política de origen a copiar.

Comentarios

El primer constructor crea una nueva política de planificador en la cual todas las políticas se inicializarán en sus valores predeterminados.

El segundo constructor crea una nueva política de planificación que usa un estilo de inicialización con parámetros nombrados. 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 política de planificación.

~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 arrojará 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 lanzar 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 lanzará invalid_scheduler_policy_key para una clave de política no válida o cualquier clave de política cuyo valor no se pueda establecer por el método SetPolicyValue.

El método lanzará invalid_scheduler_policy_value si se proporciona un valor que no es compatible 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

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