System.Threading Przestrzeń nazw

Udostępnia klasy i interfejsy, które umożliwiają programowanie wielowątkowy. Oprócz klas synchronizowania działań wątków i dostępu do danych (, , , Mutexitd.) ta przestrzeń nazw zawiera klasęMonitor, która umożliwia korzystanie z puli wątków dostarczanych przez system oraz Interlocked klasy, która wykonuje metody wywołania zwrotnego w wątkach puli wątkówAutoResetEvent. ThreadPoolTimer

Klasy

Nazwa Opis
AbandonedMutexException

Wyjątek zgłaszany, gdy jeden wątek uzyskuje Mutex obiekt porzucony przez inny wątek, zamykając go bez zwalniania.

AsyncLocal<T>

Reprezentuje dane otoczenia lokalne dla danego przepływu asynchronicznego sterowania, takie jak metoda asynchroniczna.

AutoResetEvent

Reprezentuje zdarzenie synchronizacji wątków, które po zasygnaliwie zwalnia jeden pojedynczy wątek oczekiwania, a następnie automatycznie resetuje. Klasa ta nie może być dziedziczona.

Barrier

Umożliwia współdziałanie wielu zadań z algorytmem równolegle przez wiele faz.

BarrierPostPhaseException

Wyjątek zgłaszany w przypadku niepowodzenia akcji Barrier po fazie.

CancellationTokenSource

Sygnały do CancellationToken tego, że powinny zostać anulowane.

CompressedStack

Udostępnia metody ustawiania i przechwytywania skompresowanego stosu w bieżącym wątku. Klasa ta nie może być dziedziczona.

CountdownEvent

Reprezentuje typ pierwotny synchronizacji, który jest sygnalizowany, gdy jego liczba osiągnie zero.

EventWaitHandle

Reprezentuje zdarzenie synchronizacji wątków.

ExecutionContext

Zarządza kontekstem wykonywania bieżącego wątku. Klasa ta nie może być dziedziczona.

HostExecutionContext

Hermetyzuje i propaguje kontekst wykonywania hosta między wątkami.

HostExecutionContextManager

Udostępnia funkcje, które umożliwiają hostowi środowiska uruchomieniowego języka wspólnego udział w przepływie lub migracji kontekstu wykonywania.

Interlocked

Udostępnia operacje niepodzielne dla zmiennych, które są współużytkowane przez wiele wątków.

LazyInitializer

Zapewnia leniwe procedury inicjowania.

LockRecursionException

Wyjątek zgłaszany, gdy rekursywny wpis w blokadzie nie jest zgodny z zasadami rekursji dla blokady.

ManualResetEvent

Reprezentuje zdarzenie synchronizacji wątków, które po zasygnalicie musi zostać zresetowane ręcznie. Klasa ta nie może być dziedziczona.

ManualResetEventSlim

Reprezentuje zdarzenie synchronizacji wątków, które po zasygnalicie musi zostać zresetowane ręcznie. Ta klasa jest uproszczoną alternatywą dla ManualResetEventklasy .

Monitor

Udostępnia mechanizm, który synchronizuje dostęp do obiektów.

Mutex

Pierwotny element synchronizacji, który może być również używany do synchronizacji międzyprocesowej.

Overlapped

Zapewnia zarządzaną reprezentację struktury Win32 OVERLAPPED , w tym metody transferu informacji z Overlapped wystąpienia do NativeOverlapped struktury.

PreAllocatedOverlapped

Reprezentuje wstępnie przydzielony stan dla natywnych nakładających się operacji we/wy.

ReaderWriterLock

Definiuje blokadę, która obsługuje pojedynczych składników zapisywania i wielu czytelników.

ReaderWriterLockSlim

Reprezentuje blokadę używaną do zarządzania dostępem do zasobu, co umożliwia wielu wątkom odczytywanie lub wyłączny dostęp do zapisu.

RegisteredWaitHandle

Reprezentuje uchwyt zarejestrowany podczas wywoływania metody RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean). Klasa ta nie może być dziedziczona.

Semaphore

Ogranicza liczbę wątków, które mogą jednocześnie uzyskiwać dostęp do zasobu lub puli zasobów.

SemaphoreFullException

Wyjątek zgłaszany, gdy Release metoda jest wywoływana na semaforze, którego liczba jest już maksymalna.

SemaphoreSlim

Reprezentuje uproszczoną alternatywę Semaphore , która ogranicza liczbę wątków, które mogą jednocześnie uzyskiwać dostęp do zasobu lub puli zasobów.

SynchronizationContext

Udostępnia podstawowe funkcje propagacji kontekstu synchronizacji w różnych modelach synchronizacji.

SynchronizationLockException

Wyjątek zgłaszany, gdy metoda wymaga, aby obiekt wywołujący był właścicielem blokady dla danego monitora, a metoda jest wywoływana przez obiekt wywołujący, który nie jest właścicielem tej blokady.

Thread

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

ThreadAbortException

Wyjątek zgłaszany w przypadku wywołania Abort(Object) metody . Klasa ta nie może być dziedziczona.

ThreadExceptionEventArgs

Dostarcza dane dla zdarzenia ThreadException.

ThreadInterruptedException

Wyjątek zgłaszany, gdy element Thread zostanie przerwany w stanie oczekiwania.

ThreadLocal<T>

Zapewnia lokalny magazyn danych w wątku.

ThreadPool

Udostępnia pulę wątków, które mogą służyć do wykonywania zadań, publikowania elementów roboczych, przetwarzania asynchronicznego we/wy, oczekiwania w imieniu innych wątków i czasomierzy przetwarzania.

ThreadPoolBoundHandle

Reprezentuje dojście we/wy powiązane z pulą wątków systemowych i umożliwia składnikom niskiego poziomu odbieranie powiadomień dotyczących operacji we/wy asynchronicznych.

ThreadStartException

Wyjątek zgłaszany w przypadku wystąpienia błędu w zarządzanym wątku po uruchomieniu podstawowego wątku systemu operacyjnego, ale zanim wątek będzie gotowy do wykonania kodu użytkownika.

ThreadStateException

Wyjątek zgłaszany, gdy element Thread znajduje się w nieprawidłowym ThreadState przypadku wywołania metody.

Timeout

Zawiera stałe, które określają nieskończone interwały limitu czasu. Klasa ta nie może być dziedziczona.

Timer

Udostępnia mechanizm wykonywania metody w wątku puli wątków w określonych odstępach czasu. Klasa ta nie może być dziedziczona.

Volatile

Zawiera metody wykonywania nietrwałych operacji pamięci.

WaitHandle

Hermetyzuje obiekty specyficzne dla systemu operacyjnego, które oczekują na wyłączny dostęp do udostępnionych zasobów.

WaitHandleCannotBeOpenedException

Wyjątek zgłaszany podczas próby otwarcia systemowego mutexu, semafora lub uchwytu oczekiwania zdarzeń, który nie istnieje.

WaitHandleExtensions

Zapewnia wygodne metody pracy z bezpiecznym uchwytem na uchwyt oczekiwania.

Struktury

Nazwa Opis
AsyncFlowControl

Udostępnia funkcje przywracania migracji lub przepływu kontekstu wykonywania między wątkami.

AsyncLocalValueChangedArgs<T>

Klasa, która dostarcza informacje o zmianie danych na AsyncLocal<T> wystąpienia rejestrujące się na potrzeby powiadomień o zmianie.

CancellationToken

Propaguje powiadomienie, że operacje powinny zostać anulowane.

CancellationTokenRegistration

Reprezentuje delegata wywołania zwrotnego, który został zarejestrowany w obiekcie CancellationToken.

LockCookie

Definiuje blokadę, która implementuje semantykę z jednym zapisem/wieloma czytnikami. Jest to typ wartości.

NativeOverlapped

Zawiera jawny układ widoczny z niezarządzanego kodu i będzie miał taki sam układ jak struktura Win32 OVERLAPPED z dodatkowymi polami zarezerwowanymi na końcu.

SpinLock

Zapewnia element pierwotny blokady wzajemnego wykluczania, w którym wątek próbujący uzyskać blokadę czeka w pętli wielokrotnie sprawdza, aż blokada stanie się dostępna.

SpinWait

Zapewnia obsługę oczekiwania opartego na spin-based.

Wyliczenia

Nazwa Opis
ApartmentState

Określa stan mieszkania Thread.

EventResetMode

Wskazuje, czy EventWaitHandle jest resetowany automatycznie, czy ręcznie po otrzymaniu sygnału.

LazyThreadSafetyMode

Określa, jak wystąpienie Lazy<T> synchronizuje dostęp między wieloma wątkami.

LockRecursionPolicy

Określa, czy blokada może być wprowadzana wiele razy przez ten sam wątek.

ThreadPriority

Określa priorytet planowania Thread.

ThreadState

Określa stany wykonywania Thread.

Delegaci

Nazwa Opis
ContextCallback

Reprezentuje metodę, która ma być wywoływana w nowym kontekście.

IOCompletionCallback

Odbiera kod błędu, liczbę bajtów i nakładające się typy wartości po zakończeniu operacji we/wy w puli wątków.

ParameterizedThreadStart

Reprezentuje metodę wykonywaną w obiekcie Thread.

SendOrPostCallback

Reprezentuje metodę, która ma być wywoływana, gdy komunikat ma zostać wysłany do kontekstu synchronizacji.

ThreadExceptionEventHandler

Reprezentuje metodę, która będzie obsługiwać ThreadException zdarzenie elementu Application.

ThreadStart

Reprezentuje metodę wykonywaną w obiekcie Thread.

TimerCallback

Reprezentuje metodę, która obsługuje wywołania z klasy Timer.

WaitCallback

Reprezentuje metodę wywołania zwrotnego, która ma być wykonywana przez wątek puli wątków.

WaitOrTimerCallback

Reprezentuje metodę, która ma być wywoływana, gdy WaitHandle element jest zasygnalizowany lub przekroczył limit czasu.