Spazio dei nomi concurrency

Lo spazio dei nomi concurrency fornisce le classi e le funzioni che forniscono accesso al runtime di concorrenza, un framework di programmazione simultanea per C++.Per ulteriori informazioni, vedere Runtime di concorrenza.

namespace concurrency;

Membri

Dd492819.collapse_all(it-it,VS.110).gifDefinizioni typedef

Nome

Descrizione

runtime_object_identity

Ogni istanza del messaggio dispone di un'identità che lo segue quando viene duplicato e viene passato tra i componenti della messaggistica.Non può corrispondere all'indirizzo dell'oggetto del messaggio.

task_status

Un tipo che rappresenta lo stato terminale di un'attività.I valori validi sono completed e canceled.

TaskProc

Un'astrazione elementare per un'attività, definita come void (__cdecl * TaskProc)(void *).TaskProc è chiamato per richiamare il corpo di un'attività.

Dd492819.collapse_all(it-it,VS.110).gifClassi

Nome

Descrizione

Classe affinity_partitioner

La classe affinity_partitioner è simile alla classe static_partitioner, ma migliora l'affinità della cache dalla scelta dei sottosistemi il mapping ai thread di lavoro.Può migliorare significativamente le prestazioni durante un ciclo viene eseguito nuovamente dallo stesso insieme di dati e i dati hanno sinistra nella cache.Notare che lo stesso oggetto affinity_partitioner deve essere utilizzato con le iterazioni successive di un ciclo parallelo che viene eseguito su un set di dati, per trarre vantaggio dalla località dei dati.

Classe agent

Classe destinata all'utilizzo come classe di base per tutti gli agenti indipendenti.Viene utilizzato per nascondere lo stato da altri agenti e interagire utilizzando il passaggio dei messaggi.

Classe auto_partitioner

La classe auto_partitioner rappresenta il metodo predefinito parallel_for, parallel_for_each e l'utilizzo parallel_transform partizionamento l'intervallo che ripetono più.Questo metodo di partizionamento l'intervallo di employes che si impossessa per il bilanciamento del carico nonché per ripete l'annullamento.

Classe bad_target

Questa classe viene descritta un'eccezione generata quando un blocco di messaggistica viene fornito un puntatore a una destinazione non valido per l'operazione eseguita.

Classe call

Un blocco della messaggistica call è un oggetto target_block multi-origine ordinato che richiama una funzione specificata quando riceve un messaggio.

Classe cancellation_token

La classe cancellation_token rappresenta la possibilità di determinare se una determinata operazione è stata invitata a null.

Classe cancellation_token_registration

La classe cancellation_token_registration rappresenta una notifica di callback da cancellation_token.

Classe cancellation_token_source

La classe cancellation_token_source rappresenta la possibilità di annullare un'operazione.

Classe choice

Un blocco della messaggistica choice è un blocco multi-origine a destinazione singola che rappresenta un'interazione del flusso di controllo con un set di origini.Il blocco di prima qualità attenderà che una qualsiasi delle molteplici origini produca un messaggio e propagherà l'indice dell'origine che ha prodotto il messaggio.

Classe combinable

L'oggetto combinable<T> ha lo scopo di fornire copie di dati di thread privato, per eseguire calcoli secondari locali per thread senza blocco durante algoritmi paralleli.Alla fine dell'operazione parallela, è possibile unire i sub-calcoli del thread privato in un risultato finale.Questa classe è utilizzabile al posto di una variabile condivisa e può comportare un miglioramento nelle prestazioni qualora vi fosse in caso contrario molto conflitto su tale variabile condivisa.

Classe concurrent_priority_queue

La classe concurrent_priority_queue è un contenitore che consente contemporaneamente più thread agli elementi di blocco e di push.Gli elementi sono prelievo in ordine di priorità la cui priorità è determinata da un functor fornito come argomento di modello.

Classe concurrent_queue

La classe concurrent_queue è una classe contenitore di sequenze che consente l'accesso di tipo First-in First-out ai relativi elementi.Offre un set limitato di operazioni indipendenti da, come push e try_pop.

Classe concurrent_unordered_map

La classe concurrent_unordered_map è un contenitore indipendente dalla concorrenza che controlla di una sequenza variare lunghezza di elementi di tipo std::pair<const _Key_type, _Element_type>.La sequenza viene rappresentata in una modalità che consente accodamento, accesso elementi, accesso iteratori e operazioni di attraversamento iteratori.

Classe concurrent_unordered_multimap

La classe concurrent_unordered_multimap è un contenitore indipendente dalla concorrenza che controlla di una sequenza variare lunghezza di elementi di tipo std::pair<const _Key_type, _Element_type>.La sequenza viene rappresentata in una modalità che consente accodamento, accesso elementi, accesso iteratori e operazioni di attraversamento iteratori.

Classe concurrent_unordered_multiset

La classe concurrent_unordered_multiset è un contenitore indipendente dalla concorrenza che controlla di una sequenza variare lunghezza di elementi di _Key_type del tipo.La sequenza viene rappresentata in una modalità che consente accodamento, accesso elementi, accesso iteratori e operazioni di attraversamento iteratori.

Classe concurrent_unordered_set

La classe concurrent_unordered_set è un contenitore indipendente dalla concorrenza che controlla di una sequenza variare lunghezza di elementi di _Key_type del tipo.La sequenza viene rappresentata in una modalità che consente accodamento, accesso elementi, accesso iteratori e operazioni di attraversamento iteratori.

Classe concurrent_vector

La classe concurrent_vector è una classe contenitore di sequenze che consente un accesso casuale a qualsiasi elemento.Abilita accodamento, accesso elementi, accesso iteratori e operazioni di attraversamento iteratori.

Classe Context

Consente di rappresentare un'astrazione per un contesto di esecuzione.

Classe context_self_unblock

Questa classe viene descritta un'eccezione generata quando il metodo Unblock di oggetto Context viene chiamato dallo stesso contesto.Potrebbe indicare un tentativo da parte di un contesto specificato di sbloccarsi.

Classe context_unblock_unbalanced

Questa classe viene descritta un'eccezione generata quando le chiamate ai metodi Unblock e Block di oggetto Context correttamente non vengono combinate.

Classe critical_section

Un'esclusione reciproca non rientrante che tiene conto in modo esplicito del runtime di concorrenza.

Classe CurrentScheduler

Consente di rappresentare un'astrazione per l'utilità di pianificazione corrente associata al contesto di chiamata.

Classe default_scheduler_exists

Questa classe viene descritta un'eccezione generata quando il metodo Scheduler::SetDefaultSchedulerPolicy viene chiamato quando già esisteva un'utilità di pianificazione predefinita nel processo.

Classe event (runtime di concorrenza)

Un evento di reimpostazione manuale che tiene conto in modo esplicito del runtime di concorrenza.

Classe improper_lock

Questa classe viene descritta un'eccezione generata quando un blocco viene acquisito correttamente.

Classe improper_scheduler_attach

Questa classe viene descritta un'eccezione generata quando il metodo Attach viene chiamato su un oggetto Scheduler già associato al contesto corrente.

Classe improper_scheduler_detach

Questa classe viene descritta un'eccezione generata quando il metodo CurrentScheduler::Detach viene chiamato in un contesto non è stato collegato ad alcuna utilità di pianificazione utilizzando il metodo Attach di oggetto Scheduler.

Classe improper_scheduler_reference

Questa classe viene descritta un'eccezione generata quando il metodo Reference viene chiamato su un oggetto Scheduler in fase di chiusura, da un contesto che non fa parte dell'utilità di pianificazione.

Classe invalid_link_target

Questa classe viene descritta un'eccezione generata quando il metodo link_target di blocco di messaggistica viene chiamato e il blocco di messaggistica non è in grado di accedere al database di destinazione.Ciò può essere il risultato di superare il numero di collegamenti che il blocco di messaggistica viene concessa o qualsiasi tentativo di collegare due volte una destinazione specifica alla stessa origine.

Classe invalid_multiple_scheduling

Questa classe viene descritta un'eccezione generata quando un oggetto task_handle viene eseguito più volte utilizzando il metodo run di oggetto structured_task_group o task_group senza una corrispondente chiamata ai metodi run_and_wait o wait.

Classe invalid_operation

Questa classe viene descritta un'eccezione generata quando un'operazione non valida viene eseguita più accuratamente non è descritta da un altro tipo di eccezione generata nel runtime di concorrenza.

Classe invalid_oversubscribe_operation

Questa classe viene descritta un'eccezione generata quando il metodo Context::Oversubscribe viene richiamato con il parametro _BeginOversubscription impostato su false senza una chiamata precedente al metodo Context::Oversubscribe con il parametro _BeginOversubscription impostato su true.

Classe invalid_scheduler_policy_key

Questa classe viene descritta un'eccezione generata quando un tasto non valida o sconosciuta viene passata al costruttore di un oggetto SchedulerPolicy il metodo, o SetPolicyValue di oggetto SchedulerPolicy viene passata una chiave che deve essere modificata utilizzando altri metodi come metodo SetConcurrencyLimits.

Classe invalid_scheduler_policy_thread_specification

Questa classe viene descritta un'eccezione generata quando viene effettuato un tentativo di impostare i limiti di concorrenza di un oggetto SchedulerPolicy in modo che il valore della chiave MinConcurrency è minore del valore della chiave MaxConcurrency.

Classe invalid_scheduler_policy_value

Questa classe viene descritta un'eccezione generata quando una chiave dei criteri di un oggetto SchedulerPolicy è impostata su un valore non valido per tale chiave.

Classe ISource

La classe ISource, corrisponde all'interfaccia per tutti i blocchi di origine.I blocchi di origine propagano messaggi nei blocchi ITarget.

Classe ITarget

La classe ITarget, corrisponde all'interfaccia per tutti i blocchi di destinazione.I blocchi di destinazione utilizzano messaggi a loro offerti da blocchi ISource.

Classe join

Un blocco della messaggistica join è un propagator_block multi-origine, a destinazione singola, che combina insieme messaggi di tipo _Type da ognuna delle origini.

Classe location

Un'astrazione di una posizione fisica su hardware.

Classe message

Busta del messaggio di base contenente il payload dei dati passati tra blocchi della messaggistica.

Classe message_not_found

Questa classe viene descritta un'eccezione generata quando un blocco di messaggistica non riescono a trovare un messaggio richiesto.

Classe message_processor

La classe message_processor rappresenta la classe base astratta per l'elaborazione degli oggetti message.Non esiste garanzia sull'ordinamento dei messaggi.

Classe missing_wait

Questa classe viene descritta un'eccezione generata quando esistono ancora attività pianificate quindi a un oggetto structured_task_group o task_group che il distruttore di oggetti esegue.Questa eccezione non verrà mai generata se il distruttore viene raggiunto a causa di una rimozione dello stack come risultato di un'eccezione.

Classe multi_link_registry

L'oggetto multi_link_registry è un network_link_registry che gestisce più blocchi di origine o più blocchi di destinazione.

Classe multitype_join

Un blocco della messaggistica multitype_join è un blocco multi-origine, a destinazione singola, che combina messaggi di diverso tipo da ciascuna delle sue origini e offre una tupla dei messaggi combinati alle sue destinazioni.

Classe nested_scheduler_missing_detach

Questa classe viene descritta un'eccezione generata quando il runtime di concorrenza rilevano aver ignorato chiamare il metodo CurrentScheduler::Detach in un contesto che è collegato a un'altra utilità di pianificazione utilizzando il metodo Attach dell'oggetto Scheduler.

Classe network_link_registry

La classe base astratta network_link_registry gestisce i collegamenti tra i blocchi di origine e quelli di destinazione.

Classe operation_timed_out

Questa classe viene descritta un'eccezione generata quando un'operazione è verificato il timeout.

Classe ordered_message_processor

Un ordered_message_processor è un message_processor che consente ai blocchi del messaggio di elaborare messaggi nell'ordine in cui vengono ricevuti.

Classe overwrite_buffer

Un blocco della messaggistica overwrite_buffer è un propagator_block multi-origine a destinazione singola, in grado di archiviare un unico messaggio alla volta.I nuovi messaggi sovrascrivono i precedenti.

Classe progress_reporter

La classe di reporter dello stato di avanzamento delle notifiche dello stato di avanzamento di creazione rapporti di un tipo specifico.Ogni oggetto di progress_reporter è associato a un'azione o a una determinata operazione asincrona.

Classe propagator_block

La classe propagator_block è una classe base astratta per blocchi di messaggio che sono sia origine sia destinazione.Combina la funzionalità delle classi source_block e target_block.

Classe reader_writer_lock

Un blocco reader-writer basato sulla coda di preferenza writer con solo spin locale.Il blocco concede l'accesso FIFO (first in - first out) a writer e può essere dannoso per i reader in condizioni di continuo caricamento di writer.

Classe ScheduleGroup

Consente di rappresentare un'astrazione per un gruppo di pianificazione.I gruppi di pianificazione organizzano un set di lavoro correlato che trae vantaggio da una chiusura pianificata a livello temporaneo, eseguendo un'altra attività nello stesso gruppo prima di spostarsi in un altro gruppo, o a livello spaziale, eseguendo più elementi all'interno dello stesso gruppo sullo stesso nodo NUMA o sul socket fisico.

Classe Scheduler

Consente di rappresentare un'astrazione per un'utilità di pianificazione del runtime di concorrenza.

Classe scheduler_not_attached

Questa classe viene descritta un'eccezione generata quando viene eseguita un'operazione che richiede un'utilità di pianificazione di essere associata al contesto corrente e non ne.

Classe scheduler_resource_allocation_error

Questa classe viene generata un'eccezione a causa di un errore di una risorsa critica nel runtime di concorrenza.

Classe scheduler_worker_creation_error

Questa classe viene generata un'eccezione a causa di un errore di creare un contesto di esecuzione di lavoro nel runtime di concorrenza.

Classe SchedulerPolicy

La classe SchedulerPolicy contiene un set di coppie chiave/valore, uno per ogni elemento dei criteri, che controllano il comportamento di un'istanza dell'utilità di pianificazione.

Classe simple_partitioner

La classe simple_partitioner rappresenta il partizionamento statico dell'intervallo ripetuto più da parallel_for.Il partitioner divide l'intervallo in blocchi in modo che ogni blocco ha almeno il numero di iterazioni specificate dalle dimensioni del blocco.

Classe single_assignment

Un blocco della messaggistica single_assignment è un propagator_block multi-origine, a destinazione singola, in grado di archiviare un unico message di sola scrittura.

Classe single_link_registry

L'oggetto single_link_registry è un network_link_registry che gestisce solo un singolo blocco di origine o di destinazione.

Classe source_block

La classe source_block è una classe base astratta per blocchi di sola origine.La classe fornisce funzionalità di gestione dei collegamenti di base come controlli dell'errore comune.

Classe source_link_manager

L'oggetto source_link_manager gestisce i collegamenti di rete dei blocchi della messaggistica nei blocchi ISource.

Classe static_partitioner

La classe static_partitioner rappresenta il partizionamento statico dell'intervallo ripetuto più da parallel_for.Il partitioner divide l'intervallo in tutti i blocchi come esistono lavoratori disponibili all'utilità di pianificazione underyling.

Classe structured_task_group

La classe structured_task_group rappresenta una raccolta altamente strutturata di lavoro parallelo.È possibile mettere in coda attività parallele singole a un structured_task_group utilizzando gli oggetti task_handle e attenderne il completamento o annullamento del gruppo di attività prima di aver terminato l'esecuzione, che interromperà qualsiasi attività che non ha iniziato l'esecuzione.

Classe target_block

La classe target_block corrisponde a una classe base astratta che mette a disposizione la funzionalità di gestione dei collegamenti di base e il controllo degli errori per blocchi di sola destinazione.

Classe task (runtime di concorrenza)

La classe di (PPL) task la libreria PPL.Un oggetto task rappresenta il lavoro che può essere eseguito in modo asincrono e contemporaneamente alle altre attività e di lavoro parallelo prodotti dagli algoritmi paralleli nel runtime di concorrenza.Fornisce un risultato di tipo _ResultType sul completamento.Le attività di tipo task<void> non forniscono risultato.Un'attività può essere sospeso su ed essere annullata indipendentemente dalle altre attività.Può inoltre essere composta con altre attività utilizzando le continuazioni (then) e join (when_all) e modelli choice (when_any).

Classe task_canceled

Questa classe viene descritta un'eccezione generata da attività di libreria PPL livelli per forzare l'attività corrente null.Viene inoltre generata dal metodo get() su ATTIVITÀ, per un'attività annullata.

Classe task_completion_event

La classe task_completion_event consente di ritardiate l'esecuzione di un'attività fino a soddisfare una condizione, o avviare un'attività in risposta a un evento esterno.

Classe task_continuation_context

La classe task_continuation_context consente di specificare dove si desidera una continuazione per essere eseguito.È utile solo utilizzare questa classe da un'applicazione in stile Metro.Per le app non in stile Metro, il contesto di esecuzione della continuazione di attività è determinato dal runtime e non può essere configurato da.

Classe task_group

La classe task_group rappresenta una raccolta di lavoro parallelo che può essere messa in attesa o annullato.

Classe task_handle

La classe task_handle rappresenta un elemento di lavoro parallelo individuale.Incapsula le istruzioni e i dati richiesti per eseguire un lavoro.

Classe timer

Un blocco della messaggistica timer è un source_block in grado di inviare un messaggio alla sua destinazione dopo che è trascorso un determinato periodo di tempo oppure ad intervalli specifici.

Classe transformer

Un blocco della messaggistica transformer è un propagator_block multi-origine, a destinazione singola, che può accettare messaggi di un tipo ed è in grado di archiviare un numero non associato di messaggi di un tipo diverso.

Classe unbounded_buffer

Un blocco della messaggistica unbounded_buffer è un propagator_block multi-origine a destinazione singola, in grado di archiviare un numero non associato di messaggi di un tipo diverso.

Classe unsupported_os

Questa classe viene descritta un'eccezione generata quando un sistema operativo supportato non viene utilizzato.Il runtime di concorrenza non supporta sistemi operativi precedenti a Windows XP con Service Pack 3.

Dd492819.collapse_all(it-it,VS.110).gifStrutture

Nome

Descrizione

Struttura DispatchState

La struttura DispatchState è utilizzata per trasferire lo stato al metodo IExecutionContext::Dispatch.Descrive le circostanze in cui il metodo Dispatch viene richiamato su un'interfaccia IExecutionContext.

Struttura IExecutionContext

Un'interfaccia a un contesto di esecuzione che può essere in esecuzione su un processore virtuale specificato e il cui contesto può essere cambiato cooperativamente.

Struttura IExecutionResource

Un'astrazione per un thread di hardware.

Struttura IResourceManager

Un'interfaccia alla Gestione risorse del runtime di concorrenza.Si tratta dell'interfaccia con cui le utilità di pianificazione comunicano con Gestione risorse.

Struttura IScheduler

Un'interfaccia a un'astrazione di un'utilità di pianificazione del lavoro.Gestione risorse del runtime di concorrenza utilizza tale interfaccia per comunicare con le utilità di pianificazione del lavoro.

Struttura ISchedulerProxy

Interfaccia con cui le utilità di pianificazione comunicano con Gestione risorse del runtime di concorrenza per negoziare l'allocazione delle risorse.

Struttura IThreadProxy

Astrazione per un thread di esecuzione.A seconda della chiave di criteri SchedulerType dell'utilità di pianificazione che si crea, la Gestione risorse concederà un proxy del thread appoggiato da un thread Win32 normale o un thread UMS in modalità utente.I thread UMS sono supportati su sistemi operativi a 64 bit con Windows versione 7 e successive.

Struttura ITopologyExecutionResource

Un'interfaccia a una risorsa di esecuzione definita da Gestione risorse.

Struttura ITopologyNode

Un'interfaccia a un nodo di topologia come definito da Gestione risorse.Un nodo contiene una o più risorse di esecuzione.

Struttura IUMSCompletionList

Consente di rappresentare un elenco di completamento UMS.Quando si blocca il thread UMS, il contesto di pianificazione definito dell'utilità di pianificazione viene inviato per decidere cosa pianificare sulla radice del processore virtuale sottostante mentre il thread originale è bloccato.Quando il thread originale si sblocca, il sistema operativo lo mette in coda nell'elenco di completamento accessibile tramite l'interfaccia.L'utilità di pianificazione può eseguire una query nell'elenco di completamento sul contesto di pianificazione designato o in qualsiasi altra posizione alla ricerca di lavoro.

Struttura IUMSScheduler

Un'interfaccia a un'astrazione di un'utilità di pianificazione di lavoro che desidera che la Gestione risorse del runtime di concorrenza passi thread UMS in modalità utente schedulable.Gestione risorse utilizza questa interfaccia per comunicare con le utilità di pianificazione del thread UMS.L'interfaccia IUMSScheduler eredita dall'interfaccia IScheduler.

Struttura IUMSThreadProxy

Astrazione per un thread di esecuzione.Se si desidera che all'utilità di pianificazione siano concessi thread UMS, impostare il valore per l'elemento dei criteri dell'utilità di pianificazione SchedulerKind su UmsThreadDefault e implementare l'interfaccia IUMSScheduler.I thread UMS sono supportati solo su sistemi operativi a 64 bit con Windows versione 7 e successive.

Struttura IUMSUnblockNotification

Consente di rappresentare una notifica da Gestione risorse che un proxy del thread, che ha bloccato e attivato un valore restituito al contesto di pianificazione definito dell'utilità di pianificazione, ha sbloccato ed è pronto per essere pianificato.Questa interfaccia non è valida una volta riprogrammato il contesto di esecuzione associato del proxy del thread, restituito dal metodo GetContext.

Struttura IVirtualProcessorRoot

Un'astrazione per un thread di hardware sulla quale può eseguire un proxy del thread.

Dd492819.collapse_all(it-it,VS.110).gifEnumerazioni

Nome

Descrizione

Enumerazione agent_status

Stati validi per un agent.

Enumerazione Agents_EventType

I tipi di eventi che possono essere tracciati tramite la funzionalità di traccia fornivano nella libreria di agenti

Enumerazione ConcRT_EventType

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

Enumerazione Concrt_TraceFlags

Flag di traccia per i tipi di evento

Enumerazione CriticalRegionType

Tipo di area critica in cui si trova un contesto.

Enumerazione DynamicProgressFeedbackType

Utilizzato 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 ulteriori informazioni sui criteri dell'utilità di pianificazione disponibili, vedere Enumerazione PolicyElementKey.

Enumerazione join_type

Tipo di un blocco della messaggistica join.

Enumerazione message_status

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

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 ulteriori informazioni sui criteri dell'utilità di pianificazione e l'impatto nelle utilità di pianificazione, vedere Utilità di pianificazione (runtime di concorrenza).

Enumerazione SchedulerType

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

Enumerazione SchedulingProtocolType

Utilizzato dai criteri SchedulingProtocol per descrivere quale algoritmo di pianificazione sarà utilizzato per l'utilità di pianificazione.Per ulteriori informazioni sui criteri dell'utilità di pianificazione disponibili, vedere Enumerazione PolicyElementKey.

Enumerazione SwitchingProxyState

Utilizzato 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.

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 le attività pianificate a un gruppo di attività da completare.

Enumerazione WinRTInitializationType

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

Dd492819.collapse_all(it-it,VS.110).gifFunzioni

Nome

Descrizione

Funzione Alloc

Alloca un blocco di memoria della dimensione specificata a partire dal runtime di concorrenza che memorizzano nella cache Suballocator.

Funzione asend

Di overload.Un'operazione di invio asincrona che pianifica un'attività per propagare i dati nel blocco di destinazione.

Funzione cancel_current_task

Annulla l'attività attualmente in esecuzione.Questa funzione può essere chiamata dal corpo di un'attività interrompere l'esecuzione dell'attività e indurrla passaggio allo stato canceled.Mentre può essere utilizzata in risposta alla funzione is_task_cancellation_requested, è possibile utilizzarlo anche da sola, per avviare l'annullamento dell'attività attualmente in esecuzione.

Non è uno scenario supportato per chiamare la funzione se non si è nel corpo task.Questa operazione provocherà un comportamento non definito come un arresto anomalo o una rientrano nell'applicazione.

Funzione create_async

Crea un costrutto asincrono di Windows Runtime basato su un'espressione lambda o su un oggetto funzione fornita utente.Il tipo restituito create_async è uno IAsyncAction^, IAsyncActionWithProgress<TProgress>^, IAsyncOperation<TResult>^, o IAsyncOperationWithProgress<TResult, TProgress>^ basato sulla firma della lambda passata al metodo.

Funzione create_task

Di overload.Crea un oggetto di libreria PPL ATTIVITÀ.create_task può essere utilizzatogli punto sarà utilizzato un costruttore di attività.Viene fornito principalmente per comodità, perché consente l'utilizzo della parola chiave auto durante la creazione delle attività.

Funzione CreateResourceManager

Consente di restituire un'interfaccia che rappresenta l'istanza singleton di Gestione risorse del runtime di concorrenza.Gestione risorse è responsabile dell'assegnazione di risorse a utilità di pianificazione che vogliono cooperare tra loro.

Funzione DisableTracing

Disabilita la tracciatura nel runtime di concorrenza.Questa funzione è deprecata poiché la traccia ETW viene annullata la registrazione per impostazione predefinita.

Funzione EnableTracing

Abilita la tracciatura nel runtime di concorrenza.Questa funzione è deprecata poiché la traccia ETW è attivata per impostazione predefinita.

Funzione Free

Rilascia un blocco di memoria allocato in precedenza con il metodo Alloc al runtime di concorrenza che memorizzano nella cache Suballocator.

Funzione GetExecutionContextId

Consente di restituire un identificatore univoco che può essere assegnato a un contesto di esecuzione che implementa l'interfaccia IExecutionContext.

Funzione GetOSVersion

Consente di restituire la versione del sistema operativo.

Funzione GetProcessorCount

Consente di restituire il numero dei thread di hardware sul sistema sottostante.

Funzione GetProcessorNodeCount

Consente di restituire il numero di nodi NUMA o pacchetti del processore sul sistema sottostante.

Funzione GetSchedulerId

Consente di restituire un identificatore univoco che può essere assegnato a un'utilità di pianificazione che implementa l'interfaccia IScheduler.

Funzione interruption_point

Crea un punto di interruzione per l'annullamento.Se un annullamento è in corso il contesto in cui questa funzione viene chiamata, questa verrà generata un'eccezione interna che interrompe l'esecuzione del lavoro parallelo attualmente in esecuzione.Se l'annullamento non è in corso, la funzione non esegue alcuna operazione.

Funzione is_current_task_group_canceling

Consente di restituire un'indicazione se il gruppo di attività attualmente in esecuzione inline sul contesto corrente si trova nel mezzo di un annullamento attivo (o lo sarà a breve).Notare che se non c'è nessun gruppo di attività attualmente in esecuzione inline sul contesto corrente, sarà restituito false.

Funzione is_task_cancellation_requested

Restituisce un'indicazione di se l'attività che esegue ha ricevuto una richiesta di annullamento della relativa esecuzione.Viene richiesto l'annullamento di un'attività se l'attività è stata creata con un token di annullamento e l'origine di token associata al token viene annullata.

Funzione make_choice

Di overload.Costruisce un blocco della messaggistica choice da uno Scheduler o ScheduleGroup facoltativo con un numero di origini di input compreso tra due e dieci.

Funzione make_greedy_join

Di overload.Costruisce un blocco della messaggistica greedy multitype_join da uno Scheduler o ScheduleGroup facoltativo con un numero di origini di input compreso tra due e dieci.

Funzione make_join

Di overload.Costruisce un blocco della messaggistica non_greedy multitype_join da uno Scheduler o ScheduleGroup facoltativo con un numero di origini di input compreso tra due e dieci.

Funzione make_task

Un metodo factory per la creazione di un oggetto task_handle.

Funzione parallel_buffered_sort

Di overload.Dispone gli elementi in un intervallo specificato in un ordine nondescending, o come un criterio di ordinamento specificato da un predicato binario, in parallelo.Questa funzione è semanticamente simile a std::sort in quanto è un confronto basato, instabile, ordinamento sul posto ma richiede uno spazio aggiuntivo O(n) e richiede l'inizializzazione predefinita per gli elementi che sono ordinati.

Funzione parallel_for

Di overload.parallel_for scorre un intervallo di indici ed esegue una funzione fornita dall'utente a ogni iterazione, in parallelo.

Funzione parallel_for_each

Di overload.parallel_for_each applica una funzione specificata a ogni elemento all'interno di un intervallo, in parallelo.È semanticamente equivalente alla funzione for_each nello spazio dei nomi std, con l'eccezione che l'iterazione sugli elementi viene eseguita in parallelo e l'ordine di iterazione non è specificato.L'argomento _Func deve supportare un operatore di chiamata della funzione del form operator()(T) laddove il parametro T è il tipo di elemento del contenitore su cui viene eseguita l'iterazione.

Funzione parallel_invoke

Di overload.Esegue gli oggetti funzione forniti come parametri in parallelo e blocca fino al termine dell'esecuzione.Ogni oggetto funzione potrebbe essere un'espressione lambda, un puntatore a funzione o qualsiasi oggetto che supporta l'operatore della chiamata di funzione con la firma void operator()().

Funzione parallel_radixsort

Di overload.Dispone gli elementi in un intervallo specificato in un ordine non discendente utilizzando un algoritmo di ordinamento di base.Questa è una funzione stabile di ordinamento che richiede una funzione di proiezione che possono proiettare gli elementi per essere ordinato nelle chiavi di tipo Integer senza segno.L'inizializzazione predefinita è necessaria per gli elementi che sono ordinati.

Funzione parallel_reduce

Di overload.Calcola la somma di tutti gli elementi in un intervallo specificato il calcolo di somme parziali successive, o calcola il risultato dei risultati parziali successivi analogamente ottenuti da tramite un'operazione binaria specificato dalla somma, in parallelo.parallel_reduce è semanticamente simile a std::accumulate, con la differenza che richiede un'operazione binaria di essere associativa e richiede un valore di identità anziché un valore iniziale.

Funzione parallel_sort

Di overload.Dispone gli elementi in un intervallo specificato in un ordine nondescending, o come un criterio di ordinamento specificato da un predicato binario, in parallelo.Questa funzione è semanticamente simile a std::sort in quanto è un ordinamento basato confrontare, instabile, sul posto.

Funzione parallel_transform

Di overload.Applica un oggetto funzione specificata a ogni elemento in un intervallo di origine, o a una coppia di elementi da due intervalli di origine e copia i valori restituiti dell'oggetto funzione in un intervallo di destinazione, in parallelo.Questo funzionale è semanticamente equivalente a std::transform.

Funzione receive

Di overload.Un'implementazione di ricezione generale, che consente a un contesto di attendere i dati esattamente da un'origine e di filtrare i valori accettati.

Funzione run_with_cancellation_token

Esegue un oggetto funzione immediatamente e in modo sincrono nel contesto di un token di annullamento specificato.

Funzione send

Di overload.Un'operazione di invio sincrona che attende fino a quando la destinazione accetta o rifiuta il messaggio.

Funzione set_task_execution_resources

Di overload.Limita le risorse di esecuzione utilizzate dai thread di lavoro interni di runtime di concorrenza e set di affinità specificato.

È valido chiamare questo metodo solo prima di Gestione risorse sia stato creato, o tra due durata di Gestione risorse.Può essere chiamato più volte finché Gestione risorse non esiste al momento della chiamata.Dopo avere un limite di affinità è stato impostato, rimane attiva finché la chiamata valida seguente al metodo set_task_execution_resources.

La maschera di affinità fornito non deve essere un sottoinsieme della maschera di affinità di processo.L'affinità di processo verrà aggiornata se necessario.

Funzione swap

Scambia gli elementi di due oggetti concurrent_vector.

Funzione Trace_agents_register_name

Associa il nome specificato con il blocco di messaggi o all'agente nella traccia ETW.

Funzione try_receive

Di overload.Un'implementazione di ricezione try generale, che consente a un contesto di cercare i dati esattamente da un'origine e di filtrare i valori accettati.Se i dati non sono pronti, il metodo restituirà false.

Funzione wait

Consente di sospendere il contesto corrente per un intervallo di tempo specificato.

Funzione when_all

Di overload.Crea un'attività che completerà correttamente quando tutte le attività fornite come argomenti vengono completate correttamente.

Funzione when_any

Di overload.Crea un'attività che completerà correttamente quando una qualsiasi delle attività fornite come argomenti viene completata correttamente.

Dd492819.collapse_all(it-it,VS.110).gifOperatori

Nome

Descrizione

Operatore operator!=

Consente di verificare se l'oggetto concurrent_vector sul lato sinistro dell'operatore non è uguale all'oggetto concurrent_vector sul lato destro.

Operatore operator&&

Di overload.Crea un'attività che completerà correttamente quando entrambe le attività fornite come argomenti vengono completate correttamente.

Operatore operator||

Di overload.Crea un'attività che completerà correttamente se una delle attività fornite come argomenti viene completata correttamente.

Operatore operator<

Consente di verificare se l'oggetto concurrent_vector sul lato sinistro dell'operatore è minore dell'oggetto concurrent_vector sul lato destro.

Operatore operator<=

Consente di verificare se l'oggetto concurrent_vector sul lato sinistro dell'operatore è minore o uguale all'oggetto concurrent_vector sul lato destro.

Operatore operator==

Consente di verificare se l'oggetto concurrent_vector sul lato sinistro dell'operatore è uguale all'oggetto concurrent_vector sul lato destro.

Operatore operator>

Consente di verificare se l'oggetto concurrent_vector sul lato sinistro dell'operatore è maggiore dell'oggetto concurrent_vector sul lato destro.

Operatore operator>=

Consente di verificare se l'oggetto concurrent_vector sul lato sinistro dell'operatore è maggiore o uguale all'oggetto concurrent_vector sul lato destro.

Dd492819.collapse_all(it-it,VS.110).gifCostanti

Nome

Descrizione

Costante AgentEventGuid

Un GUID di categoria ({B9B5B78C - 0713 e 4898 - 21 A.C. 67949DCED07}) che descrive gli eventi ETW generati dalla libreria di agenti nel runtime di concorrenza.

Costante ChoreEventGuid

Una GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza che sono direttamente correlati ad attività di routine o attività.

Costante ConcRT_ProviderGuid

GUID del provider ETW per il runtime di concorrenza.

Costante CONCRT_RM_VERSION_1

Indica supporto dell'interfaccia Gestione risorse definito in Visual Studio 2010.

Costante ConcRTEventGuid

Una GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza che non sono descritti in maniera più specifica da un'altra categoria.

Costante ContextEventGuid

Una GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza che sono direttamente correlati a contesti.

Costante COOPERATIVE_TIMEOUT_INFINITE

Valore indicante un'attesa che non deve terminare mai.

Costante COOPERATIVE_WAIT_TIMEOUT

Valore indicante un'attesa terminata.

Costante INHERIT_THREAD_PRIORITY

Valore speciale per le chiavi dei criteri ContextPriority che indicano che la priorità del thread di tutti i contesti nell'utilità di pianificazione deve essere identica a quella del thread che ha creato l'utilità di pianificazione.

Costante LockEventGuid

GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza direttamente correlati ai blocchi.

Costante MaxExecutionResources

Valore speciale per le chiavi dei criteri MinConcurrency e MaxConcurrency.Viene meno al numero di thread di hardware sul computer nell'assenza di altri vincoli.

Costante PPLParallelForeachEventGuid

Una GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza che sono direttamente correlati all'uso della funzione parallel_for_each.

Costante PPLParallelForEventGuid

Una GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza che sono direttamente correlati all'uso della funzione parallel_for.

Costante PPLParallelInvokeEventGuid

Una GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza che sono direttamente correlati all'uso della funzione parallel_invoke.

Costante ResourceManagerEventGuid

Una GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza che sono direttamente correlati al gestore delle risorse.

Costante ScheduleGroupEventGuid

Una GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza che sono direttamente correlati a gruppi di pianificazione.

Costante SchedulerEventGuid

Una GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza che sono direttamente correlati all'attività dell'utilità di pianificazione.

Costante VirtualProcessorEventGuid

Una GUID di categoria che descrive eventi ETW generati dal runtime di concorrenza che sono direttamente correlati a processori virtuali.

Requisiti

intestazione: agents.h, concrt.h, concrtrm.h, concurrent_priority_queue.h, concurrent_queue.h, concurrent_unordered_map.h, concurrent_unordered_set.h, concurrent_vector.h, ppl.h, ppltasks.h

Vedere anche

Altre risorse

Riferimento (runtime di concorrenza)