System.Threading Namespace

Lo spazio dei nomi System.Threading fornisce le classi e le interfacce che consentono la programmazione con multithreading. The System.Threading namespace provides classes and interfaces that enable multithreaded programming. Oltre alle classi per la sincronizzazione delle attività di thread e l'accesso ai dati (Mutex, Monitor, Interlocked, AutoResetEvent e così via), questo spazio dei nomi include una classe ThreadPool che consente di usare un pool di thread forniti dal sistema, nonché una classe Timer che esegue i metodi di callback nei thread del pool di thread. In addition to classes for synchronizing thread activities and access to data (Mutex, Monitor, Interlocked, AutoResetEvent, and so on), this namespace includes a ThreadPool class that allows you to use a pool of system-supplied threads, and a Timer class that executes callback methods on thread pool threads.

Classi

AbandonedMutexException

Eccezione generata quando un thread acquisisce un oggetto Mutex che un altro thread ha abbandonato uscendo senza rilasciarlo.The exception that is thrown when one thread acquires a Mutex object that another thread has abandoned by exiting without releasing it.

AsyncLocal<T>

Rappresenta dati di ambiente locali rispetto a un flusso di controllo asincrono specificato, ad esempio un metodo asincrono.Represents ambient data that is local to a given asynchronous control flow, such as an asynchronous method.

AutoResetEvent

Rappresenta un evento di sincronizzazione thread che viene reimpostato automaticamente quando viene segnalato, dopo avere rilasciato un singolo thread in attesa.Represents a thread synchronization event that, when signaled, resets automatically after releasing a single waiting thread. Questa classe non può essere ereditata.This class cannot be inherited.

Barrier

Consente a più attività di funzionare cooperativamente in un algoritmo in parallelo tramite più fasi.Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.

BarrierPostPhaseException

Eccezione generata quando l'azione post-fase di un oggetto Barrier non viene eseguita correttamente.The exception that is thrown when the post-phase action of a Barrier fails

CancellationTokenSource

Segnala a un oggetto CancellationToken che deve essere annullato.Signals to a CancellationToken that it should be canceled.

CompressedStack

Fornisce metodi per l'impostazione e l'acquisizione dello stack compresso sul thread corrente.Provides methods for setting and capturing the compressed stack on the current thread. Questa classe non può essere ereditata.This class cannot be inherited.

CountdownEvent

Rappresenta una primitiva di sincronizzazione segnalata quando il relativo conteggio raggiunge lo zero.Represents a synchronization primitive that is signaled when its count reaches zero.

EventWaitHandle

Rappresenta un evento di sincronizzazione dei thread.Represents a thread synchronization event.

ExecutionContext

Gestisce il contesto di esecuzione per il thread corrente.Manages the execution context for the current thread. Questa classe non può essere ereditata.This class cannot be inherited.

HostExecutionContext

Incapsula e propaga il contesto di esecuzione host fra i thread.Encapsulates and propagates the host execution context across threads.

HostExecutionContextManager

Fornisce la funzionalità che consente a un host Common Language Runtime di partecipare al flusso, o migrazione, del contesto di esecuzione.Provides the functionality that allows a common language runtime host to participate in the flow, or migration, of the execution context.

Interlocked

Consente di eseguire operazioni atomiche per variabili condivise da più thread.Provides atomic operations for variables that are shared by multiple threads.

LazyInitializer

Fornisce routine di inizializzazione differita.Provides lazy initialization routines.

LockRecursionException

Eccezione generata quando una voce ricorsiva in un blocco non è compatibile con i criteri di ricorsione per tale blocco.The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock.

ManualResetEvent

Rappresenta un evento di sincronizzazione dei thread che, quando viene segnalato, deve essere reimpostato manualmente.Represents a thread synchronization event that, when signaled, must be reset manually. Questa classe non può essere ereditata.This class cannot be inherited.

ManualResetEventSlim

Rappresenta un evento di sincronizzazione dei thread che, quando viene segnalato, deve essere reimpostato manualmente.Represents a thread synchronization event that, when signaled, must be reset manually. La classe è un'alternativa leggera a ManualResetEvent.This class is a lightweight alternative to ManualResetEvent.

Monitor

Fornisce un meccanismo che sincronizza l'accesso agli oggetti.Provides a mechanism that synchronizes access to objects.

Mutex

Primitiva di sincronizzazione che può essere utilizzata anche per la sincronizzazione interprocesso.A synchronization primitive that can also be used for interprocess synchronization.

Overlapped

Fornisce una rappresentazione gestita di una struttura OVERLAPPED Win32, inclusi i metodi per trasferire le informazioni da un'istanza di Overlapped a una struttura NativeOverlapped.Provides a managed representation of a Win32 OVERLAPPED structure, including methods to transfer information from an Overlapped instance to a NativeOverlapped structure.

PreAllocatedOverlapped

Rappresenta lo stato preallocato per le operazioni I/O sovrapposte native.Represents pre-allocated state for native overlapped I/O operations.

ReaderWriterLock

Definisce un blocco che supporta writer singoli e lettori multipli.Defines a lock that supports single writers and multiple readers.

ReaderWriterLockSlim

Rappresenta un blocco utilizzato per gestire l'accesso a una risorsa, consentendo a più thread l'accesso in lettura o l'accesso esclusivo in scrittura.Represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing.

RegisteredWaitHandle

Rappresenta un handle che è stato registrato quando si chiama RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean).Represents a handle that has been registered when calling RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean). Questa classe non può essere ereditata.This class cannot be inherited.

Semaphore

Limita il numero di thread che possono accedere simultaneamente a una risorsa o a un pool di risorse.Limits the number of threads that can access a resource or pool of resources concurrently.

SemaphoreFullException

Eccezione generata quando il metodo Release viene chiamato su un semaforo il cui conteggio ha già raggiunto il valore massimo.The exception that is thrown when the Release method is called on a semaphore whose count is already at the maximum.

SemaphoreSlim

Rappresenta un'alternativa semplificata a Semaphore che limita il numero di thread che possono accedere simultaneamente a una risorsa o a un pool di risorse.Represents a lightweight alternative to Semaphore that limits the number of threads that can access a resource or pool of resources concurrently.

SynchronizationContext

Fornisce la funzionalità di base per propagare un contesto di sincronizzazione in vari modelli di sincronizzazione.Provides the basic functionality for propagating a synchronization context in various synchronization models.

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.The exception that is thrown when a method requires the caller to own the lock on a given Monitor, and the method is invoked by a caller that does not own that lock.

Thread

Crea e controlla un thread, ne imposta le priorità e ne ottiene lo stato.Creates and controls a thread, sets its priority, and gets its status.

ThreadAbortException

Eccezione generata quando viene eseguita una chiamata al metodo Abort(Object).The exception that is thrown when a call is made to the Abort(Object) method. Questa classe non può essere ereditata.This class cannot be inherited.

ThreadExceptionEventArgs

Fornisce dati per l'evento ThreadException.Provides data for the ThreadException event.

ThreadingAclExtensions
ThreadInterruptedException

Eccezione generata quando un Thread viene interrotto mentre si trova nello stato di attesa.The exception that is thrown when a Thread is interrupted while it is in a waiting state.

ThreadLocal<T>

Consente l'archiviazione dei dati nella memoria locale dei thread.Provides thread-local storage of data.

ThreadPool

Fornisce un pool di thread che può essere usato per eseguire attività, inviare elementi di lavoro, elaborare operazioni di I/O asincrone, attendere per conto di altri thread ed elaborare timer.Provides a pool of threads that can be used to execute tasks, post work items, process asynchronous I/O, wait on behalf of other threads, and process timers.

ThreadPoolBoundHandle

Rappresenta un handle di I/O associato al pool di thread di sistema che consente ai componenti di basso livello di ricevere le notifiche per le operazioni di I/O asincrone.Represents an I/O handle that is bound to the system thread pool and enables low-level components to receive notifications for asynchronous I/O operations.

ThreadStartException

Eccezione generata quando si verifica un errore in un thread gestito dopo l'avvio del thread del sistema operativo sottostante, ma prima che il thread sia pronto per l'esecuzione di codice utente.The exception that is thrown when a failure occurs in a managed thread after the underlying operating system thread has been started, but before the thread is ready to execute user code.

ThreadStateException

Eccezione generata quando un Thread si trova in un ThreadState non valido per la chiamata al metodo.The exception that is thrown when a Thread is in an invalid ThreadState for the method call.

Timeout

Contiene le costanti che specificano gli intervalli di timeout infiniti.Contains constants that specify infinite time-out intervals. Questa classe non può essere ereditata.This class cannot be inherited.

Timer

Fornisce un meccanismo per eseguire un metodo su un thread del pool di thread a intervalli specificati.Provides a mechanism for executing a method on a thread pool thread at specified intervals. Questa classe non può essere ereditata.This class cannot be inherited.

Volatile

Contiene metodi per l'esecuzione di operazioni relative alla memoria volatile.Contains methods for performing volatile memory operations.

WaitHandle

Incapsula oggetti specifici del sistema operativo che attendono l'accesso esclusivo alle risorse condivise.Encapsulates operating system-specific objects that wait for exclusive access to shared resources.

WaitHandleCannotBeOpenedException

Eccezione generata quando viene effettuato un tentativo di aprire un mutex di sistema, un semaforo o un handle di attesa evento inesistente.The exception that is thrown when an attempt is made to open a system mutex, semaphore, or event wait handle that does not exist.

WaitHandleExtensions

Fornisce metodi pratici per usare un handle sicuro per un handle di attesa.Provides convenience methods to for working with a safe handle for a wait handle.

Struct

AsyncFlowControl

Fornisce la funzionalità per ripristinare la migrazione, o flusso, del contesto di esecuzione fra thread.Provides the functionality to restore the migration, or flow, of the execution context between threads.

AsyncLocalValueChangedArgs<T>

Classe che fornisce le informazioni di modifica dei dati alle istanze di AsyncLocal<T> registrate per le notifiche di modifica.The class that provides data change information to AsyncLocal<T> instances that register for change notifications.

CancellationToken

Propaga la notifica di richiesta di annullamento delle operazioni.Propagates notification that operations should be canceled.

CancellationTokenRegistration

Rappresenta un delegato di callback registrato con CancellationToken.Represents a callback delegate that has been registered with a CancellationToken.

LockCookie

Definisce il blocco che implementa la semantica writer singolo/visualizzatori multipli.Defines the lock that implements single-writer/multiple-reader semantics. Si tratta di un tipo di valore.This is a value type.

NativeOverlapped

Fornisce un layout esplicito visibile dal codice non gestito e che avrà lo stesso layout della struttura Win32 OVERLAPPED con campi riservati aggiuntivi alla fine.Provides an explicit layout that is visible from unmanaged code and that will have the same layout as the Win32 OVERLAPPED structure with additional reserved fields at the end.

SpinLock

Fornisce un primitiva di blocco a esclusione reciproca in cui un thread che tenta di acquisire il blocco attende in un ciclo eseguendo controlli ripetuti finché il blocco non diventa disponibile.Provides a mutual exclusion lock primitive where a thread trying to acquire the lock waits in a loop repeatedly checking until the lock becomes available.

SpinWait

Fornisce il supporto per l'attesa basata su rotazione.Provides support for spin-based waiting.

Interfacce

IThreadPoolWorkItem

Enumerazioni

ApartmentState

Specifica lo stato dell'apartment di un Thread.Specifies the apartment state of a Thread.

EventResetMode

Indica se EventWaitHandle verrà reimpostato automaticamente o manualmente dopo la ricezione di un segnale.Indicates whether an EventWaitHandle is reset automatically or manually after receiving a signal.

LazyThreadSafetyMode

Specifica il modo in cui un'istanza di Lazy<T> sincronizza l'accesso tra più thread.Specifies how a Lazy<T> instance synchronizes access among multiple threads.

LockRecursionPolicy

Specifica se lo stesso thread può accedere a un blocco più volte.Specifies whether a lock can be entered multiple times by the same thread.

ThreadPriority

Consente di specificare la priorità di pianificazione di un Thread.Specifies the scheduling priority of a Thread.

ThreadState

Vengono specificati gli stati di esecuzione di un Thread.Specifies the execution states of a Thread.

Delegati

ContextCallback

Rappresenta un metodo da chiamare all'interno di un nuovo contesto.Represents a method to be called within a new context.

IOCompletionCallback

Consente di ricevere il codice di errore, il numero di byte e il tipo di valore sovrapposto quando viene completata un'operazione di I/O nel pool di thread.Receives the error code, number of bytes, and overlapped value type when an I/O operation completes on the thread pool.

ParameterizedThreadStart

Rappresenta il metodo eseguito in un oggetto Thread.Represents the method that executes on a Thread.

SendOrPostCallback

Rappresenta un metodo da chiamare quando un messaggio deve essere inviato a un contesto di sincronizzazione.Represents a method to be called when a message is to be dispatched to a synchronization context.

ThreadExceptionEventHandler

Rappresenta il metodo che gestirà l'evento ThreadException di un oggetto Application.Represents the method that will handle the ThreadException event of an Application.

ThreadStart

Rappresenta il metodo eseguito in un oggetto Thread.Represents the method that executes on a Thread.

TimerCallback

Rappresenta il metodo che gestisce le chiamate da un Timer.Represents the method that handles calls from a Timer.

WaitCallback

Rappresenta un metodo di callback che deve essere eseguito da un thread di pool di thread.Represents a callback method to be executed by a thread pool thread.

WaitOrTimerCallback

Rappresenta un metodo da chiamare quando WaitHandle riceve un segnale o esegue il timeout.Represents a method to be called when a WaitHandle is signaled or times out.