Compartir vía


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

Consulte también

concurrency (espacio de nombres)