Thread Klasa

Definicja

Tworzy i kontroluje wątek, ustawia swój priorytet i pobiera jego stan.

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
Dziedziczenie
Dziedziczenie
Thread
Atrybuty
Implementuje

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Dodatkowe uwagi dotyczące interfejsu API dla wątku.

Konstruktory

Nazwa Opis
Thread(ParameterizedThreadStart, Int32)

Inicjuje nowe wystąpienie Thread klasy, określając delegata, który umożliwia przekazanie obiektu do wątku podczas uruchamiania wątku i określania maksymalnego rozmiaru stosu dla wątku.

Thread(ParameterizedThreadStart)

Inicjuje Thread nowe wystąpienie klasy, określając delegata, który umożliwia przekazanie obiektu do wątku po uruchomieniu wątku.

Thread(ThreadStart, Int32)

Inicjuje Thread nowe wystąpienie klasy, określając maksymalny rozmiar stosu dla wątku.

Thread(ThreadStart)

Inicjuje nowe wystąpienie klasy Thread.

Właściwości

Nazwa Opis
ApartmentState
Przestarzałe.
Przestarzałe.

Pobiera lub ustawia stan mieszkania tego wątku.

CurrentContext

Pobiera bieżący kontekst, w którym jest wykonywany wątek.

CurrentCulture

Pobiera lub ustawia kulturę bieżącego wątku.

CurrentPrincipal

Pobiera lub ustawia bieżącą jednostkę wątku (w przypadku zabezpieczeń opartych na rolach).

CurrentThread

Pobiera aktualnie uruchomiony wątek.

CurrentUICulture

Pobiera lub ustawia bieżącą kulturę używaną przez usługę Resource Manager do wyszukiwania zasobów specyficznych dla kultury w czasie wykonywania.

ExecutionContext

ExecutionContext Pobiera obiekt zawierający informacje o różnych kontekstach bieżącego wątku.

IsAlive

Pobiera wartość wskazującą stan wykonywania bieżącego wątku.

IsBackground

Pobiera lub ustawia wartość wskazującą, czy wątek jest wątkiem w tle.

IsThreadPoolThread

Pobiera wartość wskazującą, czy wątek należy do zarządzanej puli wątków.

ManagedThreadId

Pobiera unikatowy identyfikator bieżącego zarządzanego wątku.

Name

Pobiera lub ustawia nazwę wątku.

Priority

Pobiera lub ustawia wartość wskazującą priorytet planowania wątku.

ThreadState

Pobiera wartość zawierającą stany bieżącego wątku.

Metody

Nazwa Opis
Abort()
Przestarzałe.

ThreadAbortException Wywołuje element w wątku, na którym jest wywoływany, aby rozpocząć proces kończenie wątku. Wywołanie tej metody zwykle kończy wątek.

Abort(Object)
Przestarzałe.

ThreadAbortException Wywołuje element w wątku, na którym jest wywoływany, aby rozpocząć proces kończenia wątku, a jednocześnie dostarcza informacje o wyjątkach na temat zakończenia wątku. Wywołanie tej metody zwykle kończy wątek.

AllocateDataSlot()

Przydziela miejsce danych bez nazwy we wszystkich wątkach. Aby uzyskać lepszą wydajność, użyj pól oznaczonych atrybutem ThreadStaticAttribute .

AllocateNamedDataSlot(String)

Przydziela nazwane miejsce danych we wszystkich wątkach. Aby uzyskać lepszą wydajność, użyj pól oznaczonych atrybutem ThreadStaticAttribute .

BeginCriticalRegion()

Powiadamia hosta, że wykonanie ma wprowadzić region kodu, w którym skutki przerwania wątku lub nieobsługiwanego wyjątku mogą zagrozić innym zadaniam w domenie aplikacji.

BeginThreadAffinity()

Powiadamia hosta, że kod zarządzany ma wykonywać instrukcje, które zależą od tożsamości bieżącego wątku systemu operacyjnego fizycznego.

DisableComObjectEagerCleanup()

Wyłącza automatyczne czyszczenie wywoływalnych otoek środowiska uruchomieniowego (RCW) dla bieżącego wątku.

EndCriticalRegion()

Powiadamia hosta, że wykonanie ma wprowadzić region kodu, w którym skutki przerwania wątku lub nieobsługiwanego wyjątku są ograniczone do bieżącego zadania.

EndThreadAffinity()

Powiadamia hosta, że kod zarządzany zakończył wykonywanie instrukcji, które zależą od tożsamości bieżącego wątku systemu operacyjnego fizycznego.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
Finalize()

Gwarantuje, że zasoby są zwalniane, a inne operacje oczyszczania są wykonywane, gdy moduł odśmiecający elementy bezużyteczne Thread odzyska obiekt.

FreeNamedDataSlot(String)

Eliminuje skojarzenie między nazwą a miejscem dla wszystkich wątków w procesie. Aby uzyskać lepszą wydajność, użyj pól oznaczonych atrybutem ThreadStaticAttribute .

GetApartmentState()

Zwraca wartość wskazującą ApartmentState stan mieszkania.

GetCompressedStack()
Przestarzałe.
Przestarzałe.

CompressedStack Zwraca obiekt, który może służyć do przechwytywania stosu dla bieżącego wątku.

GetCurrentProcessorId()

Pobiera identyfikator używany do wskazania, na którym procesorze jest wykonywany bieżący wątek.

GetData(LocalDataStoreSlot)

Pobiera wartość z określonego miejsca w bieżącym wątku w bieżącej domenie wątku. Aby uzyskać lepszą wydajność, użyj pól oznaczonych atrybutem ThreadStaticAttribute .

GetDomain()

Zwraca bieżącą domenę, w której jest uruchomiony bieżący wątek.

GetDomainID()

Zwraca unikatowy identyfikator domeny aplikacji.

GetHashCode()

Zwraca kod skrótu dla bieżącego wątku.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetNamedDataSlot(String)

Wyszukuje nazwane miejsce danych. Aby uzyskać lepszą wydajność, użyj pól oznaczonych atrybutem ThreadStaticAttribute .

GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
Interrupt()

Przerywa wątek, który znajduje się w stanie wątku WaitSleepJoin .

Join()

Blokuje wątek wywołujący, dopóki wątek reprezentowany przez to wystąpienie zakończy się, kontynuując wykonywanie standardowych operacji COM i SendMessage pompowania.

Join(Int32)

Blokuje wątek wywołujący do momentu zakończenia wątku reprezentowanego przez to wystąpienie lub upływu określonego czasu podczas kontynuowania standardowej pompy COM i SendMessage.

Join(TimeSpan)

Blokuje wątek wywołujący do momentu zakończenia wątku reprezentowanego przez to wystąpienie lub upływu określonego czasu podczas kontynuowania standardowej pompy COM i SendMessage.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
MemoryBarrier()

Synchronizuje dostęp do pamięci w następujący sposób: Procesor wykonujący bieżący wątek nie może zmienić kolejności instrukcji w taki sposób, aby pamięć uzyskiwała dostęp przed wywołaniem do MemoryBarrier() wykonania po wywołaniu pamięci, które następują po wywołaniu metody MemoryBarrier().

ResetAbort()
Przestarzałe.

Anuluje Abort(Object) żądany wątek bieżącego wątku.

Resume()
Przestarzałe.
Przestarzałe.
Przestarzałe.

Wznawia wątek, który został zawieszony.

SetApartmentState(ApartmentState)

Ustawia stan mieszkania wątku przed jego uruchomieniem.

SetCompressedStack(CompressedStack)
Przestarzałe.
Przestarzałe.

Stosuje przechwycony CompressedStack do bieżącego wątku.

SetData(LocalDataStoreSlot, Object)

Ustawia dane w określonym miejscu w aktualnie uruchomionym wątku dla bieżącej domeny tego wątku. Aby uzyskać lepszą wydajność, użyj pól oznaczonych atrybutem ThreadStaticAttribute .

Sleep(Int32)

Zawiesza bieżący wątek dla określonej liczby milisekund.

Sleep(TimeSpan)

Zawiesza bieżący wątek przez określony czas.

SpinWait(Int32)

Powoduje, że wątek czeka na liczbę razy zdefiniowanych przez iterations parametr .

Start()

Powoduje, że system operacyjny zmienia stan bieżącego wystąpienia na Running.

Start(Object)

Powoduje, że system operacyjny zmienia stan bieżącego wystąpienia na Running, a opcjonalnie dostarcza obiekt zawierający dane, które mają być używane przez metodę wykonywaną przez wątek.

Suspend()
Przestarzałe.
Przestarzałe.
Przestarzałe.

Wstrzymuje wątek lub jeśli wątek jest już zawieszony, nie ma żadnego efektu.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TrySetApartmentState(ApartmentState)

Ustawia stan mieszkania wątku przed jego uruchomieniem.

UnsafeStart()

Powoduje, że system operacyjny zmienia stan bieżącego wystąpienia na Running.

UnsafeStart(Object)

Powoduje, że system operacyjny zmienia stan bieżącego wystąpienia na Running, a opcjonalnie dostarcza obiekt zawierający dane, które mają być używane przez metodę wykonywaną przez wątek.

VolatileRead(Byte)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(Double)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(Int16)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(Int32)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(Int64)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(IntPtr)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(Object)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(SByte)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(Single)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(UInt16)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(UInt32)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(UInt64)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileRead(UIntPtr)
Przestarzałe.

Odczytuje wartość pola. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: jeśli operacja odczytu lub zapisu pojawi się po tej metodzie w kodzie, procesor nie może przenieść go przed tą metodą.

VolatileWrite(Byte, Byte)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(Double, Double)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(Int16, Int16)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(Int32, Int32)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(Int64, Int64)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(IntPtr, IntPtr)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(Object, Object)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(SByte, SByte)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(Single, Single)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(UInt16, UInt16)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(UInt32, UInt32)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(UInt64, UInt64)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

VolatileWrite(UIntPtr, UIntPtr)
Przestarzałe.

Zapisuje wartość w polu. W systemach, które tego wymagają, wstawia barierę pamięci, która uniemożliwia procesorowi zmienianie kolejności operacji pamięci w następujący sposób: Jeśli przed tą metodą w kodzie pojawi się odczyt lub zapis, procesor nie może przenieść go po tej metodzie.

Yield()

Powoduje, że wątek wywołujący ustępuje miejsca wątkowi, który jest gotowy do pracy na bieżącym procesorze. System operacyjny wybiera wątek, do których ma być zwracany.

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

_Thread.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie dla obiektu, których następnie można użyć do uzyskania informacji o typie interfejsu.

_Thread.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

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

Zapewnia dostęp do właściwości i metod uwidocznionych przez obiekt.

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny wątkiem.

Zobacz też