Condividi tramite


Spazi dei nomi System.Threading

Gli spazi dei nomi System.Threading, System.Threading.Tasks e System.Threading.Tasks.DataFlow contengono tipi che abilitano la programmazione multithreading e semplificano la scrittura di codice simultaneo e asincrono.

In questo argomento vengono visualizzati i tipi negli spazi dei nomi System.Threading, System.Threading.Tasks e System.Threading.Tasks.DataFlow inclusi in .NET per applicazioni Windows Store o installabili e utilizzabili per creare applicazioni di Windows Store. .NET per applicazioni Windows Store non include tutti i membri di ogni tipo. Per informazioni sui singoli tipi, vedi gli argomenti collegati. La documentazione relativa a un tipo indica quali membri sono inclusi in .NET per applicazioni Windows Store.

Per installare lo spazio dei nomi System.Threading.Tasks.Dataflow, apri il progetto in Visual Studio 2012 o versione successiva, scegli Gestisci pacchetti NuGet dal menu Progetto e cerca online il pacchetto Microsoft.Tpl.Dataflow.

Spazio dei nomi System.Threading

Tipi supportati in .NET per applicazioni Windows Store

Descrizione

AbandonedMutexException

Eccezione che viene generata quando un thread acquisisce un oggetto Mutex abbandonato da un altro thread uscito senza rilasciarlo.

AutoResetEvent

Notifica a un thread in attesa che si è verificato un evento. La classe non può essere ereditata.

Barrier

Consente a più attività di funzionare in modo cooperativo in un algoritmo in parallelo tramite più fasi.

BarrierPostPhaseException

Eccezione che viene generata quando l'azione post-fase di un oggetto Barrier non viene eseguita correttamente.

CancellationToken

Propaga la notifica di richiesta di annullamento delle operazioni.

CancellationTokenRegistration

Rappresenta un delegato di callback registrato con un oggetto CancellationToken.

CancellationTokenSource

Segnala a un oggetto CancellationToken che deve essere annullato.

CountdownEvent

Rappresenta una primitiva di sincronizzazione segnalata quando il relativo conteggio raggiunge lo zero.

EventResetMode

Indica se un oggetto EventWaitHandle verrà reimpostato automaticamente o manualmente dopo la ricezione di un segnale.

EventWaitHandle

Rappresenta un evento di sincronizzazione dei thread.

Interlocked

Consente di eseguire operazioni atomiche per variabili condivise da più thread.

LazyInitializer

Fornisce routine di inizializzazione differita.

LazyThreadSafetyMode

Specifica il modo in cui un'istanza di Lazy<T> sincronizza l'accesso tra più thread.

LockRecursionException

Eccezione che viene generata quando una voce ricorsiva in un blocco non è compatibile con i criteri di ricorsione per il blocco stesso.

LockRecursionPolicy

Specifica se lo stesso thread può accedere a un blocco più volte.

ManualResetEvent

Notifica a uno o più thread in attesa che si è verificato un evento. La classe non può essere ereditata.

ManualResetEventSlim

Fornisce una versione più snella di ManualResetEvent.

Monitor

Fornisce un meccanismo che sincronizza l'accesso agli oggetti.

Mutex

Primitiva di sincronizzazione che può essere utilizzata anche per la sincronizzazione interprocesso.

ReaderWriterLockSlim

Rappresenta un blocco che viene utilizzato per gestire l'accesso a una risorsa, consentendo più thread per la lettura o l'accesso esclusivo per la scrittura.

Semaphore

Limita il numero di thread che possono accedere simultaneamente a una risorsa o a un pool di risorse.

SemaphoreFullException

Eccezione che viene generata quando il metodo Release viene chiamato su un semaforo il cui conteggio ha già raggiunto il massimo.

SemaphoreSlim

Alternativa semplificata a Semaphore che limita il numero di thread che possono accedere simultaneamente a una risorsa o a un pool di risorse.

SendOrPostCallback

Rappresenta un metodo da chiamare quando un messaggio deve essere inviato a un contesto di sincronizzazione.

SpinLock

Fornisce una primitiva di blocco a esclusione reciproca in cui un thread che tenta di acquisire il blocco rimane in attesa in un ciclo eseguendo controlli ripetuti finché il blocco non diventa disponibile.

SpinWait

Fornisce il supporto per l'attesa basata su rotazione.

SynchronizationContext

Fornisce la funzionalità di base per propagare un contesto di sincronizzazione in vari modelli di sincronizzazione.

SynchronizationLockException

Eccezione generata quando un metodo richiede che il chiamante sia il proprietario del blocco su un Monitor specifico, e tale metodo viene richiamato da un chiamante che non è proprietario del blocco.

ThreadLocal<T>

Consente l'archiviazione dei dati nella memoria locale dei thread.

Timeout

Contiene costanti che specificano intervalli di timeout infiniti. La classe non può essere ereditata.

Volatile

Contiene metodi per l'esecuzione di operazioni relative alla memoria volatile.

WaitHandle

Incapsula oggetti specifici del sistema operativo che attendono l'accesso esclusivo alle risorse condivise.

WaitHandleCannotBeOpenedException

Eccezione che viene generata quando viene effettuato un tentativo di aprire un oggetto semaforo o mutex di sistema che non esiste.

Spazio dei nomi System.Threading.Tasks

Tipi supportati in .NET per applicazioni Windows Store

Descrizione

ConcurrentExclusiveSchedulerPair

Fornisce utilità di pianificazione delle attività esclusive e simultanee coordinate per eseguire attività assicurando che le attività simultanee possano essere eseguite contemporaneamente a differenza delle attività esclusive.

Parallel

Fornisce supporto per aree e cicli in parallelo.

ParallelLoopResult

Fornisce lo stato di completamento dell'esecuzione di un ciclo parallelo.

ParallelLoopState

Consente alle iterazioni dei cicli paralleli di interagire con altre iterazioni. Un'istanza di questa classe viene fornita dalla classe Parallel a ogni ciclo. Non è possibile creare istanze nel codice utente.

ParallelOptions

Archivia opzioni che configurano il funzionamento di metodi sulla classe Parallel.

Task

Rappresenta un'operazione asincrona.

Task<TResult>

Rappresenta un'operazione asincrona in grado di restituire un valore.

TaskCanceledException

Rappresenta un'eccezione utilizzata per comunicare l'annullamento di un'attività.

TaskCompletionSource<TResult>

Rappresenta il lato producer di un oggetto Task<TResult> non associato a un delegato, fornendo l'accesso al lato consumer attraverso la proprietà TaskCompletionSource<T>.Task.

TaskContinuationOptions

Specifica il comportamento di un'attività creata tramite il metodo ContinueWith or Task<T>.ContinueWith.

TaskCreationOptions

Specifica i flag che controllano il comportamento facoltativo per la creazione e l'esecuzione delle attività.

TaskExtensions

Fornisce un set di metodi statici (Shared in Visual Basic) per l'utilizzo di tipi specifici di istanze di Task.

TaskFactory

Fornisce supporto per la creazione e la pianificazione di oggetti Task.

TaskFactory<TResult>

Fornisce supporto per la creazione e la pianificazione di oggetti Task<T>.

TaskScheduler

Rappresenta un oggetto che gestisce le operazioni di basso livello relative all'accodamento delle attività nei thread.

TaskSchedulerException

Rappresenta un'eccezione utilizzata per comunicare un'operazione non valida di un oggetto TaskScheduler.

TaskStatus

Rappresenta la fase corrente del ciclo di vita di un'attività.

UnobservedTaskExceptionEventArgs

Fornisce i dati per l'evento che viene generato quando l'eccezione di un oggetto in cui si è verificato un errore non viene osservata.

Spazio dei nomi System.Threading.Tasks.DataFlow

Per installare lo spazio dei nomi System.Threading.Tasks.Dataflow, apri il progetto in Visual Studio 2012, scegli Gestisci pacchetti NuGet dal menu Progetto e cerca online il pacchetto Microsoft.Tpl.Dataflow.

Tipi supportati in .NET per applicazioni Windows Store

Descrizione

ActionBlock<TInput>

Fornisce un blocco del flusso di dati che richiama un delegato Action<T> fornito per ogni elemento dati ricevuto.

BatchBlock<T>

Fornisce un blocco del flusso di dati che raggruppa in matrici gli input.

BatchedJoinBlock<T1, T2>

Fornisce un blocco del flusso di dati che raggruppa in batch un numero specificato di input di tipi potenzialmente diversi forniti a una o più delle relative destinazioni.

BatchedJoinBlock<T1, T2, T3>

Fornisce un blocco del flusso di dati che raggruppa in batch un numero specificato di input di tipi potenzialmente diversi forniti a una o più delle relative destinazioni.

BroadcastBlock<T>

Fornisce un buffer per l'archiviazione di al massimo un elemento alla volta, sovrascrivendo ogni messaggio all'arrivo del successivo. I messaggi vengono trasmessi a tutte le destinazioni collegate, che possono utilizzare un clone del messaggio.

BufferBlock<T>

Fornisce un buffer per l'archiviazione dei dati.

DataflowBlock

Fornisce un set di metodi statici (Shared in Visual Basic) per l'utilizzo di blocchi del flusso di dati.

DataflowBlockOptions

Fornisce opzioni utilizzate per configurare l'elaborazione eseguita da blocchi del flusso di dati.

DataflowLinkOptions

Fornisce opzioni utilizzate per configurare un collegamento tra blocchi del flusso di dati.

DataflowMessageHeader

Fornisce un contenitore di attributi di dati per il passaggio tra blocchi del flusso di dati.

DataflowMessageStatus

Rappresenta lo stato di un oggetto DataflowMessageHeader se passato tra blocchi del flusso di dati.

ExecutionDataflowBlockOptions

Fornisce opzioni utilizzate per configurare l'elaborazione eseguita da blocchi del flusso di dati che elaborano ogni messaggio tramite la chiamata di un delegato fornito dall'utente. Si tratta di blocchi del flusso di dati quali ActionBlock<TInput> e TransformBlock<TInput, TOutput>.

GroupingDataflowBlockOptions

Fornisce opzioni utilizzate per configurare l'elaborazione eseguita da blocchi del flusso di dati che raggruppano più messaggi. Si tratta di blocchi del flusso di dati quali JoinBlock<T1, T2> e BatchBlock<T>.

IDataflowBlock

Rappresenta un blocco del flusso di dati.

IPropagatorBlock<TInput, TOutput>

Rappresenta un blocco del flusso di dati che rappresenta sia la destinazione sia l'origine dei dati.

IReceivableSourceBlock<TOutput>

Rappresenta un blocco del flusso di dati che supporta la ricezione di messaggi senza collegamento.

ISourceBlock<TOutput>

Rappresenta un blocco del flusso di dati che è un'origine dati.

ITargetBlock<TInput>

Rappresenta un blocco del flusso di dati che è una destinazione per i dati.

JoinBlock<T1, T2>

Fornisce un blocco del flusso di dati che esegue il join in più origini del flusso di dati, non necessariamente dello stesso tipo, in attesa dell'arrivo di un elemento per ogni tipo prima che tutti vengano rilasciati insieme come una tupla che contiene un elemento per tipo.

JoinBlock<T1, T2, T3>

Fornisce un blocco del flusso di dati che esegue il join in più origini del flusso di dati, non necessariamente dello stesso tipo, in attesa dell'arrivo di un elemento per ogni tipo prima che tutti vengano rilasciati insieme come una tupla che contiene un elemento per tipo.

TransformBlock<TInput, TOutput>

Fornisce un blocco del flusso di dati che richiama un delegato Func<T, TResult> fornito per ogni elemento dati ricevuto.

TransformManyBlock<TInput, TOutput>

Fornisce un blocco del flusso di dati che richiama un delegato Func<T, TResult> fornito per ogni elemento dati ricevuto.

WriteOnceBlock<T>

Fornisce un buffer per la ricezione e l'archiviazione di al massimo un elemento in una rete di blocchi del flusso di dati.

Vedere anche

Concetti

.NET per le API delle applicazioni Windows Store