concurrency (Enumeraciones del espacio de nombres)
agent_status (enumeración)
Los estados válidos para un agent
.
enum agent_status;
Valores
Nombre | Descripción |
---|---|
agent_canceled |
agent se canceló. |
agent_created |
agent se ha creado, pero no se ha iniciado. |
agent_done |
agent finalizó sin cancelarse. |
agent_runnable |
agent se ha iniciado, pero no se ha especificado su método run . |
agent_started |
agent se ha iniciado. |
Comentarios
Para más información, consulte Agentes asincrónicos.
Requisitos
Encabezado: concrt.h
Agents_EventType (enumeración)
Los tipos de eventos a los que se puede realiza un seguimiento utilizando la funcionalidad de seguimiento proporcionada por la Biblioteca de agentes.
enum Agents_EventType;
Valores
Nombre | Descripción |
---|---|
AGENTS_EVENT_CREATE |
Tipo de evento que representa la creación de un objeto. |
AGENTS_EVENT_DESTROY |
Tipo de evento que representa la eliminación de un objeto. |
AGENTS_EVENT_END |
Tipo de evento que representa la conclusión de algún procesamiento. |
AGENTS_EVENT_LINK |
Tipo de evento que representa la vinculación de bloques de mensajes. |
AGENTS_EVENT_NAME |
Tipo de evento que representa el nombre de un objeto. |
AGENTS_EVENT_SCHEDULE |
Tipo de evento que representa la programación de un proceso. |
AGENTS_EVENT_START |
Tipo de evento que representa el inicio de algún procesamiento. |
AGENTS_EVENT_UNLINK |
Tipo de evento que representa la desvinculación de bloques de mensajes. |
Requisitos
Encabezado: concrt.h
ConcRT_EventType (enumeración)
Los tipos de eventos a los que se puede realizar un seguimiento utilizando la funcionalidad de seguimiento proporcionada por el runtime de simultaneidad.
enum ConcRT_EventType;
Valores
Nombre | Descripción |
---|---|
CONCRT_EVENT_ATTACH |
Tipo de evento que representa el acto de la asociación a un programador. |
CONCRT_EVENT_BLOCK |
Tipo de evento que representa el acto de un bloqueo de contexto. |
CONCRT_EVENT_DETACH |
Tipo de evento que representa el acto de la desasociación de un programador. |
CONCRT_EVENT_END |
Tipo de evento que marca el principio de un par de eventos de inicio y finalización. |
CONCRT_EVENT_GENERIC |
Tipo de evento usado para eventos varios. |
CONCRT_EVENT_IDLE |
Tipo de evento que representa el acto de un contexto que se vuelve inactivo. |
CONCRT_EVENT_START |
Tipo de evento que marca el principio de un par de eventos de inicio y finalización. |
CONCRT_EVENT_UNBLOCK |
Tipo de evento que representa el acto de desbloquear un contexto. |
CONCRT_EVENT_YIELD |
Tipo de evento que representa el acto de un contexto que produce. |
Requisitos
Encabezado: concrt.h Espacio de nombres: concurrency
Concrt_TraceFlags (enumeración)
Marcas de seguimiento para los tipos de evento
enum Concrt_TraceFlags;
Valores
Nombre | Descripción |
---|---|
AgentEventFlag |
|
AllEventsFlag |
|
ContextEventFlag |
|
PPLEventFlag |
|
ResourceManagerEventFlag |
|
SchedulerEventFlag |
|
VirtualProcessorEventFlag |
Requisitos
Encabezado: concrt.h
CriticalRegionType (enumeración)
El tipo de región crítica dentro del que se encuentra un contexto.
enum CriticalRegionType;
Valores
Nombre | Descripción |
---|---|
InsideCriticalRegion |
Indica que el contexto está dentro de una región crítica. Cuando se encuentra dentro de una región crítica, las suspensiones asincrónicas se ocultan para el programador. Si se produce esta suspensión, Resource Manager esperará a que el subproceso se pueda ejecutar y simplemente lo reanudará en lugar de invocar de nuevo el programador. Cualquier bloqueo que se realice dentro de dicha región debe llevarse a cabo con extremo cuidado. |
InsideHyperCriticalRegion |
Indica que el contexto está dentro de una región hipercrítica. Cuando se encuentra dentro de una región hipercrítica, las suspensiones sincrónicas y asincrónicas están ocultas para el programador. Si se produce tal suspensión o bloqueo, Resource Manager esperará a que el subproceso se pueda ejecutar y simplemente lo reanudará en lugar de invocar de nuevo el programador. Los bloqueos realizados dentro de una región así nunca deben compartirse con código que se ejecute fuera de dicha región. Si se hace, se producirá un interbloqueo imprevisible. |
OutsideCriticalRegion |
Indica que el contexto está fuera de cualquier región crítica. |
Requisitos
Encabezado: concrtrm.h
DynamicProgressFeedbackType (enumeración)
La usa la directiva DynamicProgressFeedback
para describir si los recursos para el programador se volverán a equilibrar según la información estadística recopilada desde el programador, o únicamente se basarán en procesadores virtuales que entran y salen del estado de inactividad a través de llamadas a los métodos Activate
y Deactivate
en la interfaz IVirtualProcessorRoot
. Para más información sobre las directivas del programador disponibles, consulta PolicyElementKey.
enum DynamicProgressFeedbackType;
Valores
Nombre | Descripción |
---|---|
ProgressFeedbackDisabled |
El programador no recopila información de progreso. El reequilibrio se realiza únicamente en el nivel de suscripción del subproceso de hardware subyacente. Para más información sobre los niveles de suscripción, consulte IExecutionResource::CurrentSubscriptionLevel. Este valor está reservado para su uso en tiempo de ejecución. |
ProgressFeedbackEnabled |
El programador recopila información de progreso y la pasa al administrador de recursos. El administrador de recursos usará esta información estadística para reequilibrar los recursos en nombre del programador, además del nivel de suscripción del subproceso de hardware subyacente. Para más información sobre los niveles de suscripción, consulte IExecutionResource::CurrentSubscriptionLevel. |
join_type (enumeración)
El tipo de un bloque de mensajería join
.
enum join_type;
Valores
Nombre | Descripción |
---|---|
greedy |
La mensajería join expansiva bloquea inmediatamente la aceptación de un mensaje tras la propagación. Aunque es más eficaz, tiene la posibilidad de bloqueo en vivo, dependiendo de la configuración de red. |
non_greedy |
La mensajería join no expansiva bloquea el aplazamiento de los mensajes y el intento de consumirlos después de que todos hayan llegado. Se garantiza que funcionan, pero más lentamente. |
Requisitos
Encabezado: agents.h
message_status (enumeración)
Las respuestas válidas para una oferta de un objeto message
a un bloque.
enum message_status;
Valores
Nombre | Descripción |
---|---|
accepted |
El destino aceptó el mensaje. |
declined |
El destino no aceptó el mensaje. |
missed |
El destino intentó aceptar el mensaje, pero ya no estaba disponible. |
postponed |
El destino pospuso el mensaje. |
Requisitos
Encabezado: agents.h
PolicyElementKey (enumeración)
Claves de directiva que describen aspectos de comportamiento del programador. Cada elemento de directiva se describe mediante un par clave-valor. Para más información sobre las directivas del programador y su impacto en los programadores, consulta Programador de tareas.
enum PolicyElementKey;
Valores
Nombre | Descripción |
---|---|
ContextPriority |
Prioridad del subproceso del sistema operativo de cada contexto del programador. Si esta clave se establece en el valor INHERIT_THREAD_PRIORITY , los contextos del programador heredarán la prioridad del subproceso que creó el programador.Valores válidos: cualquiera de los valores válidos para la función SetThreadPriority de Windows y el valor especial INHERIT_THREAD_PRIORITY Valor predeterminado: THREAD_PRIORITY_NORMAL |
ContextStackSize |
Tamaño de pila reservado de cada contexto del programador en kilobytes. Valores válidos: enteros positivos Valor predeterminado: 0 , que indica que se usará el valor predeterminado del proceso para el tamaño de pila. |
DynamicProgressFeedback |
Determina si los recursos del programador se reequilibran según la información estadística recopilada del programador o solo en función del nivel de suscripción de los subprocesos de hardware subyacentes. Para más información, consulte DynamicProgressFeedbackType. Valores válidos: miembro de la enumeración DynamicProgressFeedbackType , ya sea ProgressFeedbackEnabled o ProgressFeedbackDisabled .Valor predeterminado: ProgressFeedbackEnabled |
LocalContextCacheSize |
Cuando la clave de directiva SchedulingProtocol se establece en el valor EnhanceScheduleGroupLocality , especifica el número máximo de contextos ejecutables que se pueden almacenar en caché en cada cola local del procesador virtual. Estos contextos normalmente se ejecutarán en el orden "último en entrar, primero en salir (LIFO)" en el procesador virtual que los hizo ejecutables. Tenga en cuenta que esta clave de directiva no tiene ningún significado cuando la clave SchedulingProtocol se establece en el valor EnhanceForwardProgress .Valores válidos: enteros no negativos Valor predeterminado: 8 |
MaxConcurrency |
El nivel de simultaneidad máximo deseado por el programador. El administrador de recursos intentará asignar inicialmente estos muchos procesadores virtuales. El valor especial MaxExecutionResources indica que el nivel de simultaneidad deseado es el mismo que el número de subprocesos de hardware la máquina. Si el valor especificado para MinConcurrency es mayor que el número de subprocesos de hardware en la máquina y MaxConcurrency se especifica como MaxExecutionResources , el valor de MaxConcurrency se genera para que coincida con lo establecido para MinConcurrency .Valores válidos: enteros positivos y el valor especial MaxExecutionResources .Valor predeterminado: MaxExecutionResources |
MaxPolicyElementKey |
Clave de elemento de directiva máxima. No es una clave de elemento válida. |
MinConcurrency |
Nivel de simultaneidad mínimo que el administrador de recursos debe proporcionar al programador. El número de procesadores virtuales asignados a un planificador nunca será inferior al mínimo. El valor especial MaxExecutionResources indica que el nivel de simultaneidad mínimo es el mismo que el número de subprocesos de hardware en la máquina. Si el valor especificado para MaxConcurrency es inferior al número de subprocesos de hardware en la máquina y MinConcurrency se especifica como MaxExecutionResources , el valor de MinConcurrency se reduce para que coincida con lo establecido para MaxConcurrency .Valores válidos: enteros no negativos y el valor especial MaxExecutionResources . Tenga en cuenta que para las directivas de programador usadas para la construcción de programadores del Runtime de simultaneidad, el valor 0 no es válido.Valor predeterminado: 1 |
SchedulerKind |
El tipo de subprocesos que el programador usará en contextos de ejecución subyacentes. Para más información, consulte Tipo de programador. Valores válidos: miembro de la enumeración SchedulerType , por ejemplo, ThreadScheduler .Valor predeterminado: ThreadScheduler . Esto se traduce en subprocesos Win32 en todos los sistemas operativos. |
SchedulingProtocol |
Describe qué algoritmo de programación usará el programador. Para más información, consulte SchedulingProtocolType. Valores válidos: miembro de la enumeración SchedulingProtocolType , ya sea EnhanceScheduleGroupLocality o EnhanceForwardProgress .Valor predeterminado: EnhanceScheduleGroupLocality |
TargetOversubscriptionFactor |
Número provisional de procesadores virtuales por subproceso de hardware. El factor de sobresuscripción de destino se puede aumentar en Resource Manager, si es necesario, para satisfacer MaxConcurrency con los subprocesos de hardware de la máquina.Valores válidos: enteros positivos Valor predeterminado: 1 |
WinRTInitialization |
Requisitos
Encabezado: concrt.h
SchedulerType (enumeración)
Utilizado por la directiva SchedulerKind
para describir el tipo de subprocesos que el programador debería usar para contextos de ejecución subyacentes. Para más información sobre las directivas del programador disponibles, consulta PolicyElementKey.
enum SchedulerType;
Valores
Nombre | Descripción |
---|---|
ThreadScheduler |
Indica una solicitud explícita de subprocesos Win32 normales. |
UmsThreadDefault |
Los subprocesos programables en modo usuario (UMS) no se admiten en el Runtime de simultaneidad en Visual Studio 2013. Usando UmsThreadDefault como valor de la directiva SchedulerType no se producirá un error. Sin embargo, un programador creado con esa directiva establecerá el uso de subprocesos Win32 como valor predeterminado. |
Requisitos
Encabezado: concrt.h
SchedulingProtocolType (enumeración)
La usa la directiva SchedulingProtocol
para describir el algoritmo de programación que utilizará el programador. Para más información sobre las directivas del programador disponibles, consulta PolicyElementKey.
enum SchedulingProtocolType;
Valores
Nombre | Descripción |
---|---|
EnhanceForwardProgress |
El programador prefiere hacer operaciones por turnos mediante los grupos de programación después de ejecutar cada tarea. Normalmente, los contextos desbloqueados se programan de una manera "primero en entrar, primero en salir (FIFO)". Los procesadores virtuales no almacenan en caché contextos desbloqueados. |
EnhanceScheduleGroupLocality |
El programador prefiere seguir trabajando en tareas dentro del grupo de programación actual antes de pasar a otro grupo de programación. Los contextos desbloqueados se almacenan en caché por procesador virtual y normalmente se programan en modo "último en entrar, primero en salir (LIFO)" mediante el procesador virtual que los desbloquea. |
Requisitos
Encabezado: concrt.h
SwitchingProxyState (enumeración)
Se usa para denotar el estado en el que se encuentra un proxy del subproceso, cuando se ejecuta un cambio de contexto cooperativo en un proxy del subproceso diferente.
enum SwitchingProxyState;
Valores
Nombre | Descripción |
---|---|
Blocking |
Indica que el subproceso de llamada está bloqueando de forma cooperativa y debe ser propiedad exclusiva del autor de la llamada hasta que se ejecute de nuevo y realice otra acción. |
Idle |
Indica que el programador ya no necesita el subproceso que realiza la llamada y se devuelve a Resource Manager. Resource Manager ya no puede utilizar el contexto que se estaba enviando. |
Nesting |
Indica que el subproceso de llamada anida un programador secundario y lo necesita el autor de la llamada para asociarlo a otro programador. |
Comentarios
Se pasa un parámetro de tipo SwitchingProxyState
al método IThreadProxy::SwitchTo
para indicar a Resource Manager cómo tratar el proxy de subproceso que realiza la llamada.
Para más información sobre cómo se usa este tipo, consulte IThreadProxy::SwitchTo.
task_group_status (enumeración)
Describe el estado de ejecución de un objeto task_group
o structured_task_group
. Numeroso métodos que esperan tareas programadas para que se complete un grupo de tareas, devuelven un valor de este tipo.
enum task_group_status;
Valores
Nombre | Descripción |
---|---|
canceled |
El objeto task_group o structured_task_group se canceló. Puede que una o varias tareas no se hayan ejecutado. |
completed |
Las tareas puestas en cola en el objeto task_group o structured_task_group se han completado correctamente. |
not_complete |
Las tareas puestas en cola en el objeto task_group no se han completado. Observe que el runtime de simultaneidad no devuelve actualmente este valor. |
Requisitos
Encabezado: pplinterface.h
WinRTInitializationType (enumeración)
La utiliza la directiva WinRTInitialization
para describir si se iniciará y cómo se iniciará Windows Runtime en subprocesos del programador para una aplicación que se ejecuta en sistemas operativos con Windows 8 o una versión posterior. Para más información sobre las directivas del programador disponibles, consulta PolicyElementKey.
enum WinRTInitializationType;
Valores
Nombre | Descripción |
---|---|
DoNotInitializeWinRT |
Cuando la aplicación se ejecuta en los sistemas operativos con Windows 8 o una versión posterior, los subprocesos dentro del programador no se inicializarán en Windows Runtime. |
InitializeWinRTAsMTA |
Cuando la aplicación se ejecuta en los sistemas operativos con Windows 8 o una versión posterior, cada subproceso del programador se inicializará en Windows en tiempo de ejecución y declarará que forma parte del apartamento multiproceso. |
Requisitos
Encabezado: concrt.h