Thread Třída

Definice

Vytvoří a řídí vlákno, nastaví jeho prioritu a získá jeho stav.

public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject
public ref class Thread sealed
public ref class Thread sealed : System::Runtime::InteropServices::_Thread
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, System::Runtime::InteropServices::_Thread
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Thread
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class Thread : System.Runtime.InteropServices._Thread
[System.Runtime.InteropServices.ComVisible(true)]
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, System.Runtime.InteropServices._Thread
type Thread = class
    inherit CriticalFinalizerObject
[<System.Runtime.InteropServices.ComVisible(true)>]
type Thread = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type Thread = class
    interface _Thread
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type Thread = class
    inherit CriticalFinalizerObject
    interface _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
Public NotInheritable Class Thread
Public NotInheritable Class Thread
Implements _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
Implements _Thread
Dědičnost
Dědičnost
Thread
Atributy
Implementuje

Poznámky

Další informace o tomto rozhraní API najdete v tématu Doplňkové poznámky k rozhraní API pro vlákno.

Konstruktory

Thread(ParameterizedThreadStart)

Inicializuje novou instanci Thread třídy zadáním delegáta, který umožňuje předání objektu vláknu při spuštění vlákna.

Thread(ParameterizedThreadStart, Int32)

Inicializuje novou instanci Thread třídy zadáním delegáta, který umožňuje objekt předat vláknu při spuštění vlákna a zadat maximální velikost zásobníku pro vlákno.

Thread(ThreadStart)

Inicializuje novou instanci Thread třídy .

Thread(ThreadStart, Int32)

Inicializuje novou instanci Thread třídy a určí maximální velikost zásobníku pro vlákno.

Vlastnosti

ApartmentState
Zastaralé.
Zastaralé.

Získá nebo nastaví stav bytu tohoto vlákna.

CurrentContext

Získá aktuální kontext, ve kterém se provádí vlákno.

CurrentCulture

Získá nebo nastaví jazykovou verzi pro aktuální vlákno.

CurrentPrincipal

Získá nebo nastaví aktuální objekt zabezpečení vlákna (pro zabezpečení na základě rolí).

CurrentThread

Získá aktuálně spuštěné vlákno.

CurrentUICulture

Získá nebo nastaví aktuální jazykovou verzi používanou Resource Manager k vyhledání prostředků specifických pro jazykovou verzi za běhu.

ExecutionContext

ExecutionContext Získá objekt, který obsahuje informace o různých kontextech aktuálního vlákna.

IsAlive

Získá hodnotu označující stav spuštění aktuálního vlákna.

IsBackground

Získá nebo nastaví hodnotu označující, zda vlákno je vlákno na pozadí.

IsThreadPoolThread

Získá hodnotu označující, zda vlákno patří do fondu spravovaných vláken.

ManagedThreadId

Získá jedinečný identifikátor pro aktuální spravované vlákno.

Name

Získá nebo nastaví název vlákna.

Priority

Získá nebo nastaví hodnotu označující prioritu plánování vlákna.

ThreadState

Získá hodnotu obsahující stavy aktuálního vlákna.

Metody

Abort()
Zastaralé.

ThreadAbortException Vyvolá ve vlákně, na kterém je vyvolána, k zahájení procesu ukončení vlákna. Volání této metody obvykle ukončí vlákno.

Abort(Object)
Zastaralé.

ThreadAbortException Vyvolá ve vlákně, na kterém je vyvolána, k zahájení procesu ukončení vlákna a zároveň poskytne informace o výjimce o ukončení vlákna. Volání této metody obvykle ukončí vlákno.

AllocateDataSlot()

Přidělí nepojmenovaný datový slot pro všechna vlákna. Pro lepší výkon použijte pole, která jsou označená atributem ThreadStaticAttribute .

AllocateNamedDataSlot(String)

Přidělí pojmenovaný datový slot pro všechna vlákna. Pro lepší výkon použijte pole, která jsou označená atributem ThreadStaticAttribute .

BeginCriticalRegion()

Upozorní hostitele, že spuštění se chystá zadat oblast kódu, ve které by následky přerušení vlákna nebo neošetřené výjimky mohly ohrozit jiné úlohy v doméně aplikace.

BeginThreadAffinity()

Upozorní hostitele, že se spravovaný kód chystá spustit instrukce, které závisí na identitě aktuálního fyzického vlákna operačního systému.

DisableComObjectEagerCleanup()

Vypne automatické čištění obálky volatelné za běhu (RCW) pro aktuální vlákno.

EndCriticalRegion()

Oznámí hostiteli, že spuštění se chystá zadat oblast kódu, ve které jsou účinky přerušení vlákna nebo neošetřené výjimky omezeny na aktuální úlohu.

EndThreadAffinity()

Upozorní hostitele, že spravovaný kód dokončil provádění pokynů, které závisí na identitě aktuálního fyzického vlákna operačního systému.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Finalize()

Zajišťuje uvolnění prostředků a provádění dalších operací čištění, když systém uvolňování paměti uvolní Thread objekt.

FreeNamedDataSlot(String)

Eliminuje přidružení mezi názvem a slotem pro všechna vlákna v procesu. Pro lepší výkon použijte pole, která jsou označená atributem ThreadStaticAttribute .

GetApartmentState()

ApartmentState Vrátí hodnotu označující stav bytu.

GetCompressedStack()
Zastaralé.
Zastaralé.

CompressedStack Vrátí objekt, který lze použít k zachycení zásobníku pro aktuální vlákno.

GetCurrentProcessorId()

Získá ID sloužící k označení, na kterém procesoru je spuštěn aktuální vlákno.

GetData(LocalDataStoreSlot)

Načte hodnotu ze zadaného slotu v aktuálním vlákně v rámci aktuální domény aktuálního vlákna. Pro lepší výkon použijte pole, která jsou označená atributem ThreadStaticAttribute .

GetDomain()

Vrátí aktuální doménu, ve které je spuštěné aktuální vlákno.

GetDomainID()

Vrátí jedinečný identifikátor domény aplikace.

GetHashCode()

Vrátí kód hash pro aktuální vlákno.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetNamedDataSlot(String)

Vyhledá pojmenovaný datový slot. Pro lepší výkon použijte pole, která jsou označená atributem ThreadStaticAttribute .

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
Interrupt()

Přeruší vlákno, které je ve WaitSleepJoin stavu vlákna.

Join()

Blokuje volající vlákno, dokud vlákno reprezentované touto instancí neskončí, zatímco pokračuje v provádění standardní com a SendMessage pumpování.

Join(Int32)

Blokuje volající vlákno, dokud vlákno reprezentované touto instancí ukončí nebo uplynou zadanou dobu, zatímco pokračuje v provádění standardní com a SendMessage pumpování.

Join(TimeSpan)

Blokuje volající vlákno, dokud vlákno reprezentované touto instancí ukončí nebo uplynou zadanou dobu, zatímco pokračuje v provádění standardní com a SendMessage pumpování.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
MemoryBarrier()

Synchronizuje přístup k paměti následujícím způsobem: Procesor, který spouští aktuální vlákno, nemůže změnit pořadí instrukcí tak, aby paměť přistupovala před voláním MemoryBarrier() k provedení po přístupu k paměti, které následují po MemoryBarrier()volání metody .

ResetAbort()
Zastaralé.

Abort(Object) Zruší požadavek pro aktuální vlákno.

Resume()
Zastaralé.
Zastaralé.
Zastaralé.

Obnoví vlákno, které bylo pozastaveno.

SetApartmentState(ApartmentState)

Nastaví stav bytu vlákna před jeho spuštěním.

SetCompressedStack(CompressedStack)
Zastaralé.
Zastaralé.

Použije zachycený CompressedStack na aktuální vlákno.

SetData(LocalDataStoreSlot, Object)

Nastaví data v zadaném slotu v aktuálně spuštěném vlákně pro aktuální doménu daného vlákna. Pokud chcete zlepšit výkon, použijte místo toho pole označená atributem ThreadStaticAttribute .

Sleep(Int32)

Pozastaví aktuální vlákno na zadaný počet milisekund.

Sleep(TimeSpan)

Pozastaví aktuální vlákno na zadanou dobu.

SpinWait(Int32)

Způsobí, že vlákno bude čekat kolikrát je definován parametrem iterations .

Start()

Způsobí, že operační systém změní stav aktuální instance na Running.

Start(Object)

Způsobí, že operační systém změní stav aktuální instance na Runninga volitelně poskytne objekt obsahující data, který má být použit metodou spuštěnou podprocesem.

Suspend()
Zastaralé.
Zastaralé.
Zastaralé.

Buď pozastaví vlákno, nebo pokud je vlákno již pozastaveno, nemá žádný vliv.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TrySetApartmentState(ApartmentState)

Nastaví stav bytu vlákna před jeho spuštěním.

UnsafeStart()

Způsobí, že operační systém změní stav aktuální instance na Running.

UnsafeStart(Object)

Způsobí, že operační systém změní stav aktuální instance na Runninga volitelně poskytne objekt obsahující data, který má být použit metodou spuštěnou podprocesem.

VolatileRead(Byte)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(Double)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(Int16)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(Int32)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(Int64)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(IntPtr)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(Object)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(SByte)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(Single)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(UInt16)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(UInt32)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(UInt64)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileRead(UIntPtr)
Zastaralé.

Načte hodnotu pole. V systémech, které to vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se za touto metodou v kódu zobrazí čtení nebo zápis, procesor jej nemůže přesunout před touto metodou.

VolatileWrite(Byte, Byte)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(Double, Double)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(Int16, Int16)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(Int32, Int32)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(Int64, Int64)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(IntPtr, IntPtr)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(Object, Object)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(SByte, SByte)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(Single, Single)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(UInt16, UInt16)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(UInt32, UInt32)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(UInt64, UInt64)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

VolatileWrite(UIntPtr, UIntPtr)
Zastaralé.

Zapíše hodnotu do pole. V systémech, které ho vyžadují, vloží paměťovou bariéru, která brání procesoru ve změně pořadí operací paměti následujícím způsobem: Pokud se před touto metodou v kódu zobrazí čtení nebo zápis, procesor ji nemůže po této metodě přesunout.

Yield()

Způsobí, že volající vlákno provede jiné vlákno, které je připravené ke spuštění na aktuálním procesoru. Operační systém vybere vlákno, do které chcete přejít.

Explicitní implementace rozhraní

_Thread.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

_Thread.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

_Thread.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

_Thread.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

Platí pro

Bezpečný přístup z více vláken

Tento typ je bezpečný pro přístup z více vláken.

Viz také