Thread Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy i kontroluje wątek, ustawia jego 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 Uwagi dotyczące dodatkowego interfejsu API dla wątku.
Konstruktory
Thread(ParameterizedThreadStart) |
Inicjuje nowe wystąpienie Thread klasy, określając delegata, który umożliwia przekazanie obiektu do wątku po uruchomieniu wątku. |
Thread(ParameterizedThreadStart, Int32) |
Inicjuje nowe wystąpienie Thread klasy, określając delegata, który umożliwia przekazanie obiektu do wątku po uruchomieniu wątku i określeniu maksymalnego rozmiaru stosu dla wątku. |
Thread(ThreadStart) |
Inicjuje nowe wystąpienie klasy Thread. |
Thread(ThreadStart, Int32) |
Inicjuje Thread nowe wystąpienie klasy, określając maksymalny rozmiar stosu dla wątku. |
Właściwości
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 (dla zabezpieczeń opartych na rolach). |
CurrentThread |
Pobiera aktualnie uruchomiony wątek. |
CurrentUICulture |
Pobiera lub ustawia bieżącą kulturę używaną przez 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
Abort() |
Przestarzałe.
Wywołuje element ThreadAbortException w wątku, na którym jest wywoływany, aby rozpocząć proces kończenie wątku. Wywoływanie 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 także dostarcza informacje o wyjątkach dotyczących kończenia wątku. Wywoływanie tej metody zwykle kończy wątek. |
AllocateDataSlot() |
Przydziela nienazwane miejsce danych na 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 zostać wykonany w celu wykonania instrukcji, które zależą od tożsamości bieżącego wątku systemu operacyjnego fizycznego. |
DisableComObjectEagerCleanup() |
Wyłącza automatyczne czyszczenie zawijania wywoływanych przez środowisko uruchomieniowe (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 dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Finalize() |
Gwarantuje, że zasoby są zwalniane, a inne operacje oczyszczania są wykonywane podczas odzyskiwania obiektu przez moduł odśmiecniania Thread pamięci. |
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 działa 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() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
Interrupt() |
Przerywa wątek, który jest w stanie wątku WaitSleepJoin . |
Join() |
Blokuje wątek wywołujący, dopóki wątek reprezentowany przez to wystąpienie zakończy się, a jednocześnie będzie nadal wykonywać standardowe operacje COM i |
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, przy jednoczesnym kontynuowaniu standardowej pompowania 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, przy jednoczesnym kontynuowaniu standardowej pompowania COM i SendMessage. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (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 nawiązaniu dostępu do pamięci, które następują po wywołaniu metody MemoryBarrier(). |
ResetAbort() |
Przestarzałe.
Anuluje Abort(Object) żądanie dla 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 ma czekać liczbę razy zdefiniowaną |
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 do użycia 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 wpływu. |
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 do użycia 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 odczyt lub zapis 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 daje wykonywanie do innego wątku, który jest gotowy do uruchomienia na bieżącym procesorze. System operacyjny wybiera wątek do uzyskania. |
Jawne implementacje interfejsu
_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) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny wątkowo.