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.