Thread Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea e controlla un thread, ne imposta la priorità e ne ottiene lo stato.
public ref class Thread sealed : System::Runtime::InteropServices::_Thread
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, System::Runtime::InteropServices::_Thread
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class Thread : System.Runtime.InteropServices._Thread
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, System.Runtime.InteropServices._Thread
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type Thread = class
interface _Thread
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Thread = class
inherit CriticalFinalizerObject
interface _Thread
type Thread = class
inherit CriticalFinalizerObject
Public NotInheritable Class Thread
Implements _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
Implements _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
- Ereditarietà
-
Thread
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Per altre informazioni su questa API, vedere Osservazioni supplementari sull'API per Thread.
Costruttori
| Nome | Descrizione |
|---|---|
| Thread(ParameterizedThreadStart, Int32) |
Inizializza una nuova istanza della Thread classe , specificando un delegato che consente di passare un oggetto al thread all'avvio del thread e specificando le dimensioni massime dello stack per il thread. |
| Thread(ParameterizedThreadStart) |
Inizializza una nuova istanza della Thread classe , specificando un delegato che consente di passare un oggetto al thread all'avvio del thread. |
| Thread(ThreadStart, Int32) |
Inizializza una nuova istanza della Thread classe , specificando le dimensioni massime dello stack per il thread. |
| Thread(ThreadStart) |
Inizializza una nuova istanza della classe Thread. |
Proprietà
| Nome | Descrizione |
|---|---|
| ApartmentState |
Obsoleti.
Ottiene o imposta lo stato dell'apartment di questo thread. |
| CurrentContext |
Ottiene il contesto corrente in cui è in esecuzione il thread. |
| CurrentCulture |
Ottiene o imposta le impostazioni cultura per il thread corrente. |
| CurrentPrincipal |
Ottiene o imposta l'entità corrente del thread (per la sicurezza basata sui ruoli). |
| CurrentThread |
Ottiene il thread attualmente in esecuzione. |
| CurrentUICulture |
Ottiene o imposta le impostazioni cultura correnti usate da Resource Manager per cercare risorse specifiche delle impostazioni cultura in fase di esecuzione. |
| ExecutionContext |
Ottiene un ExecutionContext oggetto che contiene informazioni sui vari contesti del thread corrente. |
| IsAlive |
Ottiene un valore che indica lo stato di esecuzione del thread corrente. |
| IsBackground |
Ottiene o imposta un valore che indica se un thread è un thread in background. |
| IsThreadPoolThread |
Ottiene un valore che indica se un thread appartiene o meno al pool di thread gestiti. |
| ManagedThreadId |
Ottiene un identificatore univoco per il thread gestito corrente. |
| Name |
Ottiene o imposta il nome del thread. |
| Priority |
Ottiene o imposta un valore che indica la priorità di pianificazione di un thread. |
| ThreadState |
Ottiene un valore contenente gli stati del thread corrente. |
Metodi
| Nome | Descrizione |
|---|---|
| Abort() |
Genera un ThreadAbortException oggetto nel thread su cui viene richiamato, per avviare il processo di terminazione del thread. La chiamata a questo metodo in genere termina il thread. |
| Abort(Object) |
Genera un ThreadAbortException oggetto nel thread in cui viene richiamato, per iniziare il processo di terminazione del thread fornendo al tempo stesso informazioni sulle eccezioni relative alla terminazione del thread. La chiamata a questo metodo in genere termina il thread. |
| AllocateDataSlot() |
Alloca uno slot di dati senza nome in tutti i thread. Per prestazioni migliori, usare invece i campi contrassegnati con l'attributo ThreadStaticAttribute . |
| AllocateNamedDataSlot(String) |
Alloca uno slot di dati denominato in tutti i thread. Per prestazioni migliori, usare invece i campi contrassegnati con l'attributo ThreadStaticAttribute . |
| BeginCriticalRegion() |
Notifica a un host che l'esecuzione sta per immettere un'area di codice in cui gli effetti di un'interruzione del thread o di un'eccezione non gestita potrebbero compromettere altre attività nel dominio applicazione. |
| BeginThreadAffinity() |
Notifica a un host che il codice gestito sta per eseguire istruzioni che dipendono dall'identità del thread del sistema operativo fisico corrente. |
| DisableComObjectEagerCleanup() |
Disattiva la pulizia automatica dei wrapper chiamabili di runtime (RCW) per il thread corrente. |
| EndCriticalRegion() |
Notifica a un host che l'esecuzione sta per entrare in un'area di codice in cui gli effetti di un'interruzione del thread o di un'eccezione non gestita sono limitati all'attività corrente. |
| EndThreadAffinity() |
Notifica a un host che il codice gestito ha completato l'esecuzione di istruzioni che dipendono dall'identità del thread del sistema operativo fisico corrente. |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| Finalize() |
Assicura che le risorse vengano liberate e che vengano eseguite altre operazioni di pulizia quando il Garbage Collector recupera l'oggetto Thread . |
| FreeNamedDataSlot(String) |
Elimina l'associazione tra un nome e uno slot, per tutti i thread nel processo. Per prestazioni migliori, usare invece i campi contrassegnati con l'attributo ThreadStaticAttribute . |
| GetApartmentState() |
Restituisce un ApartmentState valore che indica lo stato dell'apartment. |
| GetCompressedStack() |
Obsoleti.
Restituisce un CompressedStack oggetto che può essere utilizzato per acquisire lo stack per il thread corrente. |
| GetCurrentProcessorId() |
Ottiene un ID utilizzato per indicare il processore in cui è in esecuzione il thread corrente. |
| GetData(LocalDataStoreSlot) |
Recupera il valore dallo slot specificato nel thread corrente, all'interno del dominio corrente del thread corrente. Per prestazioni migliori, usare invece i campi contrassegnati con l'attributo ThreadStaticAttribute . |
| GetDomain() |
Restituisce il dominio corrente in cui è in esecuzione il thread corrente. |
| GetDomainID() |
Restituisce un identificatore univoco del dominio dell'applicazione. |
| GetHashCode() |
Restituisce un codice hash per il thread corrente. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetNamedDataSlot(String) |
Cerca uno slot di dati denominato. Per prestazioni migliori, usare invece i campi contrassegnati con l'attributo ThreadStaticAttribute . |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| Interrupt() |
Interrompe un thread nello stato del WaitSleepJoin thread. |
| Join() |
Blocca il thread chiamante fino a quando il thread rappresentato da questa istanza termina, continuando a eseguire com standard e |
| Join(Int32) |
Blocca il thread chiamante fino a quando il thread rappresentato da questa istanza termina o il tempo specificato è trascorso, continuando a eseguire il pumping COM e SendMessage standard. |
| Join(TimeSpan) |
Blocca il thread chiamante fino a quando il thread rappresentato da questa istanza termina o il tempo specificato è trascorso, continuando a eseguire il pumping COM e SendMessage standard. |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| MemoryBarrier() |
Sincronizza l'accesso alla memoria come indicato di seguito: il processore che esegue il thread corrente non può riordinare le istruzioni in modo che la memoria accesa prima della chiamata da MemoryBarrier() eseguire dopo gli accessi alla memoria che seguono la chiamata a MemoryBarrier(). |
| ResetAbort() |
Annulla un oggetto Abort(Object) richiesto per il thread corrente. |
| Resume() |
Obsoleti.
Obsoleti.
Riprende un thread sospeso. |
| SetApartmentState(ApartmentState) |
Imposta lo stato apartment di un thread prima dell'avvio. |
| SetCompressedStack(CompressedStack) |
Obsoleti.
Applica un oggetto acquisito CompressedStack al thread corrente. |
| SetData(LocalDataStoreSlot, Object) |
Imposta i dati nello slot specificato nel thread attualmente in esecuzione, per il dominio corrente del thread. Per ottenere prestazioni migliori, usare invece i campi contrassegnati con l'attributo ThreadStaticAttribute . |
| Sleep(Int32) |
Sospende il thread corrente per il numero specificato di millisecondi. |
| Sleep(TimeSpan) |
Sospende il thread corrente per la quantità di tempo specificata. |
| SpinWait(Int32) |
Fa in modo che un thread attenda il numero di volte definito dal |
| Start() |
Fa sì che il sistema operativo modifichi lo stato dell'istanza corrente in Running. |
| Start(Object) |
Fa sì che il sistema operativo modifichi lo stato dell'istanza corrente in Runninge, facoltativamente, fornisca un oggetto contenente dati da utilizzare dal metodo eseguito dal thread. |
| Suspend() |
Obsoleti.
Obsoleti.
Sospende il thread o se il thread è già sospeso, non ha alcun effetto. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
| TrySetApartmentState(ApartmentState) |
Imposta lo stato apartment di un thread prima dell'avvio. |
| VolatileRead(Byte) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(Double) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(Int16) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(Int32) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(Int64) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(IntPtr) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(Object) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(SByte) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(Single) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(UInt16) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(UInt32) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(UInt64) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileRead(UIntPtr) |
Legge il valore di un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura dopo questo metodo nel codice, il processore non può spostarlo prima di questo metodo. |
| VolatileWrite(Byte, Byte) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(Double, Double) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(Int16, Int16) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(Int32, Int32) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(Int64, Int64) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(IntPtr, IntPtr) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(Object, Object) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(SByte, SByte) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(Single, Single) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(UInt16, UInt16) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(UInt32, UInt32) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(UInt64, UInt64) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| VolatileWrite(UIntPtr, UIntPtr) |
Scrive un valore in un campo. Nei sistemi che lo richiedono, inserisce una barriera di memoria che impedisce al processore di riordinare le operazioni di memoria come indicato di seguito: se viene visualizzata una lettura o una scrittura prima di questo metodo nel codice, il processore non può spostarlo dopo questo metodo. |
| Yield() |
Determina che il thread chiamante ceda l'esecuzione a un altro thread pronto per l'esecuzione sul processore corrente. Il sistema operativo seleziona il thread da restituire. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| _Thread.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di identificatori dispatch. |
| _Thread.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo relative a un oggetto che può quindi essere usato per ottenere informazioni sul tipo relative a un'interfaccia. |
| _Thread.GetTypeInfoCount(UInt32) |
Recupera il numero di interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). |
| _Thread.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso alle proprietà e ai metodi esposti da un oggetto . |
Si applica a
Thread safety
Questo tipo è thread-safe.