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