Udostępnij za pośrednictwem


Microsoft.VisualStudio.Threading Przestrzeń nazw

Przestrzeń nazw Microsoft.VisualStudio.Threading zawiera interfejsy API do użycia w projektach zestawu Visual Studio SDK. Te interfejsy API należy używać do programowania asynchronicznego w programie Visual Studio. Dzięki temu można uniknąć zakleszczeń

Ta biblioteka jest oparta na bibliotece równoległej zadań .NET Framework (TPL). Aby uzyskać informacje o tej bibliotece, zobacz Biblioteka równoległa zadań (TPL).

Klasy

AsyncAutoResetEvent

Asynchroniczna implementacja elementu AutoResetEvent.

AsyncBarrier

Bariera asynchroniczna, która blokuje sygnalizator, dopóki wszyscy inni uczestnicy nie zasygnalizowali.

AsyncCountdownEvent

Zdarzenie odliczania stylu asynchronicznego.

AsyncCrossProcessMutex

Mutex, który można wprowadzić asynchronicznie.

AsyncLazy<T>

Bezpieczna wątkowo, leniwie i asynchronicznie oceniana fabryka wartości.

AsyncLazyInitializer

Lazily wykonuje delegata, który ma jakiś efekt uboczny (zazwyczaj inicjuje coś), tak aby delegat był uruchamiany co najwyżej raz.

AsyncLocal<T>

Przechowuje odwołania, tak aby były dostępne do pobierania w tym samym kontekście wywołania.

AsyncManualResetEvent

Smak tego ManualResetEvent może być asynchronicznie oczekiwany.

AsyncQueue<T>

Bezpieczna wątkowo, asynchronicznie dequeuable kolejka.

AsyncReaderWriterLock

Blokada nieblokująca, która umożliwia dostęp współbieżny, wyłączny dostęp lub współbieżność z funkcją uaktualniania do wyłącznego dostępu.

AsyncReaderWriterLock.Awaiter

Zarządza dostępem asynchronicznym do blokady.

AsyncReaderWriterResourceLock<TMoniker,TResource>

Blokada nieblokująca, która umożliwia współbieżny dostęp, wyłączny dostęp lub współbieżność z możliwościami uaktualniania do wyłącznego dostępu, dzięki czemu specjalne uprawnienia dla zasobów, które muszą być przygotowane do dostępu współbieżnego lub wyłącznego.

AsyncSemaphore

Asynchroniczna SemaphoreSlim klasa podobna do bardziej wygodnej składni wydania.

AwaitExtensions

Metody rozszerzeń i oczekujące dla platformy .NET 4.5.

CancellationTokenExtensions

Rozszerzenia do CancellationToken.

DelegatingJoinableTaskFactory

Klasa bazowa JoinableTaskFactory dla typów pochodnych, które delegują część pracy do istniejącego wystąpienia.

DispatcherExtensions

Metody rozszerzenia dla WPF Dispatcher w celu lepszego współdziałania z .JoinableTaskFactory

HangReportContribution

Współtworzenie zagregowanego raportu zawieszenia.

IllegalSemaphoreUsageException

Wyjątek zgłaszany w przypadku naruszenia umowy.ReentrantSemaphore

JoinableTask

Śledzi operacje asynchroniczne i zapewnia możliwość sprzężenia tych operacji, aby uniknąć zakleszczeń podczas synchronicznego blokowania wątku głównego na potrzeby ukończenia operacji.

JoinableTask<T>

Śledzi operacje asynchroniczne i zapewnia możliwość sprzężenia tych operacji, aby uniknąć zakleszczeń podczas synchronicznego blokowania wątku głównego na potrzeby ukończenia operacji.

JoinableTaskCollection

Kolekcja niekompletnych JoinableTask obiektów.

JoinableTaskContext

Wspólny kontekst, w którym można tworzyć zadania dołączane i wchodzić w interakcje, aby uniknąć zakleszczeń.

JoinableTaskContext.HangDetails

Klasa, która hermetyzuje szczegóły możliwego zawieszenia. Wystąpienie tej JoinableTaskContext.HangDetails klasy zostanie przekazane do JoinableTaskContextNode wystąpień, które zarejestrowały powiadomienia o zawieszeniu.

JoinableTaskContextException

Wyjątek zgłaszany, gdy konfiguracja podana dla elementu JoinableTaskContext jest niepoprawna lub metoda wirtualna jest zastępowana tak, aby naruszała kontrakt. Ten wyjątek nie powinien być przechwycony. Jest zgłaszany, gdy aplikacja ma błąd programowania.

JoinableTaskContextNode

Dostosowywalne źródło JoinableTaskFactory wystąpień.

JoinableTaskFactory

Fabryka uruchamiania zadań asynchronicznych, które mogą ograniczyć zakleszczenia, gdy zadania wymagają wątku Głównego aplikacji, a wątek Główny może blokować się po zakończeniu zadania.

NoMessagePumpSyncContext

Element SynchronizationContext, którego synchronicznie blokująca metodę Wait nie zezwala na ponowne wprowadzenie za pośrednictwem pompy komunikatów.

NonConcurrentSynchronizationContext

Element SynchronizationContext , który wykonuje komunikaty w kolejności ich odebrania.

ProgressWithCompletion<T>

Mechanizm raportowania postępu przyrostowego, który umożliwia również asynchroniczne oczekiwanie na przetworzenie wszystkich raportów.

ReentrantSemaphore

Semafor JoinableTaskFactoryobsługujący semafor, który pozwala na ponowną reentrancyjność bez korzystania z innego gniazda w semaforze.

SemaphoreFaultedException

Wyjątek zgłaszany, gdy element ReentrantSemaphore jest w stanie błędu.

SingleThreadedSynchronizationContext

Kontekst synchronizacji jednowątkowej, podobny do dispatcherSynchronizationContext i WindowsFormsSynchronizationContext.

SingleThreadedSynchronizationContext.Frame

Ramka pompowania komunikatów, która może być wypychana PushFrame(SingleThreadedSynchronizationContext+Frame) do pompowania komunikatów w wątku będącego właścicielem.

ThreadingTools

Metody narzędziowe do pracy między wątkami.

TplExtensions

Rozszerzenia biblioteki równoległej zadań.

Struktury

AsyncCrossProcessMutex.LockReleaser

Wartość zwrócona z EnterAsync(TimeSpan) tej wartości musi zostać usunięta, aby zwolnić mutex.

AsyncLazy<T>.RevertRelevance

Struktura, która ukrywa istotność bloku kodu z określonego AsyncLazy<T> elementu i JoinableTaskContext została utworzona za pomocą polecenia .

AsyncReaderWriterLock.Awaitable

Oczekiwany element zwracany z asynchronicznych żądań blokady.

AsyncReaderWriterLock.LockHandle

"Publiczna" reprezentacja konkretnej blokady.

AsyncReaderWriterLock.Releaser

Wartość, której usuwanie zwalnia blokadę przechowywaną.

AsyncReaderWriterLock.Suppression

Wartość, której usuwanie przywraca widoczność wszelkich blokad przechowywanych przez obiekt wywołujący.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable

Oczekiwany element zwracany z asynchronicznych żądań blokady.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaiter

Zarządza dostępem asynchronicznym do blokady.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceReleaser

Wartość, której usuwanie zwalnia blokadę przechowywaną.

AsyncSemaphore.Releaser

Wartość, której usuwanie wyzwala zwolnienie blokady.

AwaitExtensions.AggregateExceptionAwaitable

Wynik ConfigureAwaitForAggregateException(Task, Boolean) przygotowania Task elementu do oczekiwania podczas zgłaszania ze wszystkimi wyjątkami wewnętrznymi.

AwaitExtensions.AggregateExceptionAwaiter

Wynik GetAwaiter() przygotowania Task elementu do oczekiwania podczas zgłaszania ze wszystkimi wyjątkami wewnętrznymi.

AwaitExtensions.ConfiguredTaskYieldAwaitable

Oczekiwany element, który zawsze będzie prowadzić wywołanie metody asynchronicznej do uzyskania, a następnie natychmiast wznowić, prawdopodobnie na oryginalnej SynchronizationContext.

AwaitExtensions.ConfiguredTaskYieldAwaiter

Awaiter, który zawsze poprowadzi wywołanie metody asynchronicznej, aby uzyskać, a następnie natychmiast wznowić, prawdopodobnie na oryginalnej SynchronizationContext.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable

Zadanie oczekujące, które ma koligację do synchronicznego wykonywania wywołań zwrotnych w stosie wywołań.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

Zadanie oczekujące, które ma koligację do synchronicznego wykonywania wywołań zwrotnych w stosie wywołań.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

Obiekt awaiter zadań, który ma koligację do synchronicznego wykonywania wywołań zwrotnych w stosie wywołań.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter<T>

Obiekt awaiter zadań, który ma koligację do synchronicznego wykonywania wywołań zwrotnych w stosie wywołań.

AwaitExtensions.SynchronizationContextAwaiter

Obiekt awaiter zwrócony z elementu GetAwaiter(SynchronizationContext).

AwaitExtensions.TaskSchedulerAwaitable

Oczekiwany element, który wykonuje kontynuacje określonego harmonogramu zadań.

AwaitExtensions.TaskSchedulerAwaiter

Obiekt awaiter zwrócony z elementu GetAwaiter(TaskScheduler).

CancellationTokenExtensions.CombinedCancellationToken

Zapewnia dostęp do obiektu CancellationToken , który łączy wiele innych tokenów i umożliwia wygodne usuwanie wszystkich odpowiednich CancellationTokenSourcetokenów.

JoinableTaskCollection.JoinRelease

Wartość, której usuwanie anuluje operację Join() .

JoinableTaskContext.RevertRelevance

Struktura, która czyści statyczne async/thread CallContext i SynchronizationContext i przywraca te wartości po usunięciu tej struktury.

JoinableTaskFactory.MainThreadAwaitable

Oczekiwana struktura, która ułatwia asynchroniczne przejście do wątku Głównego.

JoinableTaskFactory.MainThreadAwaiter

Struktura funkcji awaiter, która ułatwia asynchroniczne przejście do wątku Głównego.

JoinableTaskInternals.JoinableTaskToken

Przestrzeń nazw Microsoft.VisualStudio.Threading zawiera interfejsy API do użycia w projektach zestawu Visual Studio SDK. Te interfejsy API należy używać do programowania asynchronicznego w programie Visual Studio. Dzięki temu można uniknąć zakleszczeń

Ta biblioteka jest oparta na bibliotece równoległej zadań .NET Framework (TPL). Aby uzyskać informacje o tej bibliotece, zobacz Biblioteka równoległa zadań (TPL).

ReentrantSemaphore.RevertRelevance

Struktura, która ukrywa wszelkie dowody wprowadzone przez obiekt ReentrantSemaphore wywołujący do usunięcia tej wartości.

SpecializedSyncContext

Struktura, która stosuje i przywraca zmiany w obiekcie SynchronizationContext.

TplExtensions.NoThrowTaskAwaitable

Oczekiwany element, który opakowuje zadanie i nigdy nie zgłasza wyjątku podczas oczekiwania.

TplExtensions.NoThrowTaskAwaiter

Obiekt oczekujący, który opakowuje zadanie i nigdy nie zgłasza wyjątku podczas oczekiwania.

TplExtensions.NoThrowValueTaskAwaitable

Oczekiwany element, który opakowuje zadanie i nigdy nie zgłasza wyjątku podczas oczekiwania.

TplExtensions.NoThrowValueTaskAwaitable<TResult>

Oczekiwany element, który opakowuje ValueTask<TResult> element i nigdy nie zgłasza wyjątku podczas oczekiwania.

TplExtensions.NoThrowValueTaskAwaiter

Obiekt oczekujący, który opakowuje zadanie i nigdy nie zgłasza wyjątku podczas oczekiwania.

TplExtensions.NoThrowValueTaskAwaiter<TResult>

Obiekt oczekujący, który opakowuje zadanie i nigdy nie zgłasza wyjątku podczas oczekiwania.

Interfejsy

IAsyncDisposable

Definiuje metodę asynchroniczną w celu zwolnienia przydzielonych zasobów.

IHangReportContributor

Zapewnia funkcję tworzenia raportów, które mogą być przydatne podczas analizowania zawieszenia.

Wyliczenia

AsyncReaderWriterLock.LockFlags

Flagi modyfikujące domyślne zachowanie blokady.

AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags

Flagi modyfikujące domyślne zachowanie blokady.

JoinableTaskCreationOptions

Określa flagi, które kontrolują opcjonalne zachowanie tworzenia i wykonywania zadań.

ReentrantSemaphore.ReentrancyMode

Opisuje sposoby ReentrantSemaphore , w jakie mogą zachowywać się, gdy żądanie semafora jest wykonywane w kontekście, który znajduje się już w semaforze.

RegistryChangeNotificationFilters

Różne typy danych w kluczu rejestru, które generują powiadomienia po zmianie.

Delegaci

AsyncEventHandler

Asynchroniczna procedura obsługi zdarzeń.

AsyncEventHandler<TEventArgs>

Asynchroniczna procedura obsługi zdarzeń.