Condividi tramite


Enumerazioni dello spazio dei nomi concurrency

Enumerazione agent_status

Stati validi per un agent.

enum agent_status;

Valori

Nome Descrizione
agent_canceled Il parametro agent è stato annullato.
agent_created L'oggetto agent è stato creato ma non avviato.
agent_done L'oggetto agent completato senza essere annullato.
agent_runnable L'oggetto agent è stato avviato, ma non è stato immesso il run relativo metodo.
agent_started L'oggetto agent è stato avviato.

Osservazioni:

Per altre informazioni, vedere Agenti asincroni.

Requisiti

Intestazione: concrt.h

Enumerazione Agents_EventType

Tipi di eventi che possono essere tracciati mediante la funzionalità di tracciatura offerta dalla libreria di agenti.

enum Agents_EventType;

Valori

Nome Descrizione
AGENTS_EVENT_CREATE Tipo di evento che rappresenta la creazione di un oggetto
AGENTS_EVENT_DESTROY Tipo di evento che rappresenta l'eliminazione di un oggetto
AGENTS_EVENT_END Tipo di evento che rappresenta la fine di un'elaborazione
AGENTS_EVENT_LINK Tipo di evento che rappresenta il collegamento di blocchi di messaggi
AGENTS_EVENT_NAME Tipo di evento che rappresenta il nome di un oggetto
AGENTS_EVENT_SCHEDULE Tipo di evento che rappresenta la pianificazione di un processo
AGENTS_EVENT_START Tipo di evento che rappresenta l'inizio di un'elaborazione
AGENTS_EVENT_UNLINK Tipo di evento che rappresenta lo scollegamento di blocchi di messaggi

Requisiti

Intestazione: concrt.h

Enumerazione ConcRT_EventType

Tipi di eventi che possono essere tracciati mediante la funzionalità di tracciatura offerta dal runtime di concorrenza.

enum ConcRT_EventType;

Valori

Nome Descrizione
CONCRT_EVENT_ATTACH Tipo di evento che rappresenta l'atto di un collegamento a un'utilità di pianificazione.
CONCRT_EVENT_BLOCK Tipo di evento che rappresenta l'atto di un blocco del contesto.
CONCRT_EVENT_DETACH Tipo di evento che rappresenta l'atto di scollegamento da un'utilità di pianificazione.
CONCRT_EVENT_END Tipo di evento che contrassegna l'inizio di una coppia di eventi di inizio/fine.
CONCRT_EVENT_GENERIC Tipo di evento utilizzato per eventi vari.
CONCRT_EVENT_IDLE Tipo di evento che rappresenta l'atto di un contesto che diventa inattiva.
CONCRT_EVENT_START Tipo di evento che contrassegna l'inizio di una coppia di eventi di inizio/fine.
CONCRT_EVENT_UNBLOCK Tipo di evento che rappresenta l'atto di sbloccare un contesto.
CONCRT_EVENT_YIELD Tipo di evento che rappresenta l'azione di un contesto che restituisce.

Requisiti

Intestazione: spazio dei nomi concrt.h : concorrenza

Enumerazione Concrt_TraceFlags

Flag di analisi per i tipi di evento

enum Concrt_TraceFlags;

Valori

Nome Descrizione
AgentEventFlag
AllEventsFlag
ContextEventFlag
PPLEventFlag
ResourceManagerEventFlag
SchedulerEventFlag
VirtualProcessorEventFlag

Requisiti

Intestazione: concrt.h

Enumerazione CriticalRegionType

Tipo di area critica in cui si trova un contesto.

enum CriticalRegionType;

Valori

Nome Descrizione
InsideCriticalRegion Indica che il contesto si trova all'interno di un'area critica. Quando si trova all'interno di un'area critica, le sospensioni asincrone vengono nascoste dall'utilità di pianificazione. Se si verifica una sospensione di questo tipo, Resource Manager attenderà che il thread diventi eseguibile e lo riprendi semplicemente invece di richiamare nuovamente l'utilità di pianificazione. Tutti i blocchi eseguiti all'interno di tale regione devono essere presi con estrema cura.
InsideHyperCriticalRegion Indica che il contesto si trova all'interno di un'area ipercritica. Quando si trova all'interno di un'area ipercritica, le sospensioni sincrone e asincrone sono nascoste dall'utilità di pianificazione. Se si verifica una sospensione o un blocco di questo tipo, il gestore risorse attenderà che il thread diventi eseguibile e lo riprenda semplicemente anziché richiamare nuovamente l'utilità di pianificazione. I blocchi eseguiti all'interno di tale area non devono mai essere condivisi con codice in esecuzione all'esterno di tale area. In questo modo si verificherà un deadlock imprevedibile.
OutsideCriticalRegion Indica che il contesto è esterno a qualsiasi area critica.

Requisiti

Intestazione: concrtrm.h

Enumerazione DynamicProgressFeedbackType

Usato dai criteri DynamicProgressFeedback per descrivere se le risorse per l'utilità di pianificazione saranno ribilanciate sulla base di informazioni statistiche raccolte dall'utilità di pianificazione o solo sulla base di processori virtuali che passano allo stato inattivo e viceversa tramite chiamate ai metodi Activate e Deactivate sull'interfaccia IVirtualProcessorRoot. Per altre informazioni sui criteri dell'utilità di pianificazione disponibili, vedere PolicyElementKey.

enum DynamicProgressFeedbackType;

Valori

Nome Descrizione
ProgressFeedbackDisabled L'utilità di pianificazione non raccoglie informazioni sullo stato di avanzamento. Il ribilanciamento viene eseguito esclusivamente in base al livello di sottoscrizione del thread hardware sottostante. Per altre informazioni sui livelli di sottoscrizione, vedere IExecutionResource::CurrentSubscriptionLevel.

Questo valore è riservato per l'uso da parte del runtime.
ProgressFeedbackEnabled L'utilità di pianificazione raccoglie informazioni sullo stato di avanzamento e le passa al gestore risorse. Il gestore delle risorse utilizzerà queste informazioni statistiche per ribilanciare le risorse per conto dell'utilità di pianificazione oltre al livello di sottoscrizione del thread hardware sottostante. Per altre informazioni sui livelli di sottoscrizione, vedere IExecutionResource::CurrentSubscriptionLevel.

Enumerazione join_type

Tipo di un blocco della messaggistica join.

enum join_type;

Valori

Nome Descrizione
greedy I blocchi di messaggistica Greedy join accettano immediatamente un messaggio al momento della propagazione. Questa operazione è più efficiente, ma ha la possibilità di bloccare in tempo reale, a seconda della configurazione di rete.
non_greedy I messaggi non greedy join bloccano il rinvio dei messaggi e provano a utilizzarli dopo l'arrivo di tutti. Questi sono garantiti per funzionare, ma più lentamente.

Requisiti

Intestazione: agents.h

Enumerazione message_status

Risposte valide per un'offerta di un oggetto message a un blocco.

enum message_status;

Valori

Nome Descrizione
accepted La destinazione ha accettato il messaggio.
declined La destinazione non ha accettato il messaggio.
missed La destinazione ha tentato di accettare il messaggio, ma non era più disponibile.
postponed La destinazione ha posticipato il messaggio.

Requisiti

Intestazione: agents.h

Enumerazione PolicyElementKey

Chiavi dei criteri che descrivono aspetti del comportamento dell'utilità di pianificazione. Ciascun elemento dei criteri è descritto da una coppia chiave-valore. Per altre informazioni sui criteri dell'utilità di pianificazione e sui relativi effetti sulle utilità di pianificazione, vedere Utilità di pianificazione.

enum PolicyElementKey;

Valori

Nome Descrizione
ContextPriority Priorità del thread del sistema operativo di ogni contesto nell'utilità di pianificazione. Se questa chiave è impostata sul valore INHERIT_THREAD_PRIORITY i contesti nell'utilità di pianificazione erediteranno la priorità del thread che ha creato l'utilità di pianificazione.

Valori validi: qualsiasi valore valido per la funzione di Windows SetThreadPriority e il valore speciale INHERIT_THREAD_PRIORITY

Valore predefinito: THREAD_PRIORITY_NORMAL
ContextStackSize Dimensioni dello stack riservato di ogni contesto nell'utilità di pianificazione in kilobyte.

Valori validi: numeri interi positivi

Valore predefinito: 0, che indica che viene usato il valore predefinito del processo per le dimensioni dello stack.
DynamicProgressFeedback Determina se le risorse per l'utilità di pianificazione verranno ribilanciate in base alle informazioni statistiche raccolte dall'utilità di pianificazione o solo in base al livello di sottoscrizione dei thread hardware sottostanti. Per altre informazioni, vedere DynamicProgressFeedbackType.

Valori validi: membro dell'enumerazione DynamicProgressFeedbackType , ProgressFeedbackEnabled o ProgressFeedbackDisabled

Valore predefinito: ProgressFeedbackEnabled
LocalContextCacheSize Quando la SchedulingProtocol chiave dei criteri è impostata sul valore EnhanceScheduleGroupLocality, specifica il numero massimo di contesti eseguibili che possono essere memorizzati nella cache per ogni coda locale del processore virtuale. Tali contesti vengono in genere eseguiti nell'ordine LIFO (Last-In-First-Out) sul processore virtuale che li ha resi eseguibili. Si noti che questa chiave di criterio non ha alcun significato quando la SchedulingProtocol chiave è impostata sul valore EnhanceForwardProgress.

Valori validi: interi non negativi

Valore predefinito: 8
MaxConcurrency Livello di concorrenza massimo desiderato dall'utilità di pianificazione. Resource Manager tenterà di allocare inizialmente questo numero di processori virtuali. Il valore speciale MaxExecutionResources indica che il livello di concorrenza desiderato è uguale al numero di thread hardware nel computer. Se il valore specificato per MinConcurrency è maggiore del numero di thread hardware nel computer e MaxConcurrency viene specificato come MaxExecutionResources, il valore per MaxConcurrency viene generato in modo che corrisponda a quello impostato per MinConcurrency.

Valori validi: numeri interi positivi e valore speciale MaxExecutionResources

Valore predefinito: MaxExecutionResources
MaxPolicyElementKey Chiave dell'elemento del criterio massimo. Chiave dell'elemento non valida.
MinConcurrency Livello minimo di concorrenza che deve essere fornito all'utilità di pianificazione da parte di Resource Manager. Il numero di processori virtuali assegnati a un'utilità di pianificazione non sarà mai inferiore al minimo. Il valore speciale MaxExecutionResources indica che il livello di concorrenza minimo è uguale al numero di thread hardware nel computer. Se il valore specificato per MaxConcurrency è minore del numero di thread hardware nel computer e MinConcurrency viene specificato come MaxExecutionResources, il valore di MinConcurrency viene ridotto in modo che corrisponda a quello impostato per MaxConcurrency.

Valori validi: numeri interi non negativi e il valore MaxExecutionResourcesspeciale . Si noti che per i criteri dell'utilità di pianificazione utilizzati per la costruzione delle utilità di pianificazione del runtime di concorrenza, il valore 0 non è valido.

Valore predefinito: 1
SchedulerKind Tipo di thread che l'utilità di pianificazione utilizzerà per i contesti di esecuzione sottostanti. Per altre informazioni, vedere SchedulerType.

Valori validi: un membro dell'enumerazione SchedulerType, ad esempio ThreadScheduler

Valore predefinito: ThreadScheduler. Ciò si traduce in thread Win32 in tutti i sistemi operativi.
SchedulingProtocol Descrive l'algoritmo di pianificazione che verrà utilizzato dall'utilità di pianificazione. Per altre informazioni, vedere SchedulingProtocolType.

Valori validi: membro dell'enumerazione SchedulingProtocolType , EnhanceScheduleGroupLocality o EnhanceForwardProgress

Valore predefinito: EnhanceScheduleGroupLocality
TargetOversubscriptionFactor Numero provvisorio di processori virtuali per thread hardware. Se necessario, il fattore dell'oversubscription di destinazione può essere incrementato da Gestione risorse per soddisfare MaxConcurrency con i thread hardware sul computer.

Valori validi: numeri interi positivi

Valore predefinito: 1
WinRTInitialization

Requisiti

Intestazione: concrt.h

Enumerazione SchedulerType

Usato dai criteri SchedulerKind per descrivere il tipo di thread che l'utilità di pianificazione deve usare per i contesti di esecuzione sottostanti. Per altre informazioni sui criteri dell'utilità di pianificazione disponibili, vedere PolicyElementKey.

enum SchedulerType;

Valori

Nome Descrizione
ThreadScheduler Indica una richiesta esplicita di thread Win32 regolari.
UmsThreadDefault I thread pianificabili in modalità utente (UMS) non sono supportati nel runtime di concorrenza in Visual Studio 2013. Utilizzando UmsThreadDefault come valore per i criteri SchedulerType non verrà generato un errore. Tuttavia, un'utilità di pianificazione creata con questi criteri viene impostata per l'utilizzo di thread Win32.

Requisiti

Intestazione: concrt.h

Enumerazione SchedulingProtocolType

Usato dai criteri SchedulingProtocol per descrivere quale algoritmo di pianificazione sarà usato per l'utilità di pianificazione. Per altre informazioni sui criteri dell'utilità di pianificazione disponibili, vedere PolicyElementKey.

enum SchedulingProtocolType;

Valori

Nome Descrizione
EnhanceForwardProgress L'utilità di pianificazione preferisce eseguire il round robin tramite gruppi di pianificazione dopo l'esecuzione di ogni attività. I contesti sbloccati vengono in genere pianificati in modo FIFO (First-In-First-Out). I processori virtuali non memorizzano nella cache i contesti sbloccati.
EnhanceScheduleGroupLocality L'utilità di pianificazione preferisce continuare a lavorare sulle attività all'interno del gruppo di pianificazione corrente prima di passare a un altro gruppo di pianificazione. I contesti sbloccati vengono memorizzati nella cache per ogni processore virtuale e vengono in genere pianificati in modo LIFO (Last-In-First-Out) dal processore virtuale che li ha sbloccati.

Requisiti

Intestazione: concrt.h

Enumerazione SwitchingProxyState

Usato per indicare lo stato in cui si trova un proxy del thread, quando è in esecuzione uno scambio di contesto cooperativo per un proxy del thread diverso.

enum SwitchingProxyState;

Valori

Nome Descrizione
Blocking Indica che il thread chiamante blocca in modo cooperativo e deve essere esclusivamente di proprietà del chiamante fino a quando non viene eseguito di nuovo e l'esecuzione di altre azioni.
Idle Indica che il thread chiamante non è più necessario per l'utilità di pianificazione e che viene restituito a Resource Manager. Il contesto inviato non è più in grado di essere utilizzato da Resource Manager.
Nesting Indica che il thread chiamante annida un'utilità di pianificazione figlio ed è necessaria per il chiamante, per connettersi a un'utilità di pianificazione diversa.

Osservazioni:

Un parametro di tipo SwitchingProxyState viene passato al metodo IThreadProxy::SwitchTo per indicare a Resource Manager come trattare il proxy di thread che esegue la chiamata.

Per altre informazioni sull'uso di questo tipo, vedere IThreadProxy::SwitchTo.

Enumerazione task_group_status

Descrive lo stato di esecuzione di un oggetto task_group o structured_task_group. Un valore di questo tipo viene restituito da numerosi metodi che attendono attività pianificate a un gruppo di attività da completare.

enum task_group_status;

Valori

Nome Descrizione
canceled L'oggetto task_group o structured_task_group è stato annullato. È possibile che una o più attività non siano state eseguite.
completed Le attività in coda all'oggetto task_group o structured_task_group sono state completate.
not_complete Le attività in coda all'oggetto task_group non sono state completate. Notare che questo valore non è al momento restituito dal runtime di concorrenza.

Requisiti

Intestazione: pplinterface.h

Enumerazione WinRTInitializationType

Utilizzata dai criteri WinRTInitialization per descrivere se e come Windows Runtime verrà inizializzato nei thread dell'utilità di pianificazione per un'applicazione eseguita nei sistemi operativi con la versione Windows 8 o superiore. Per altre informazioni sui criteri dell'utilità di pianificazione disponibili, vedere PolicyElementKey.

enum WinRTInitializationType;

Valori

Nome Descrizione
DoNotInitializeWinRT Quando l'applicazione viene eseguita nei sistemi operativi con la versione Windows 8 o successiva, tramite i thread all'interno dell'utilità di pianificazione non verrà inizializzato Windows Runtime.
InitializeWinRTAsMTA Quando l'applicazione viene eseguita nei sistemi operativi con la versione Windows 8 o successiva, tramite ogni thread all'interno dell'utilità di pianificazione verrà inizializzato Windows Runtime e verrà dichiarato che fa parte dell'apartment a thread multipli.

Requisiti

Intestazione: concrt.h

Vedi anche

Spazio dei nomi concurrency