Microsoft.VisualStudio.Threading Пространство имен

Microsoft. Пространство имен VisualStudio.Threading содержит API для использования в проектах пакета SDK Visual Studio. Эти API следует использовать для асинхронного программирования в Visual Studio. Это помогает избежать взаимоблокировок

Эта библиотека основана на библиотеке параллельных задач .NET Framework (TPL). Сведения об этой библиотеке см. в разделе "Библиотека параллельных задач" (TPL).

Классы

Имя Описание
AsyncAutoResetEvent

Асинхронная реализация autoResetEvent.

AsyncBarrier

Асинхронный барьер, который блокирует сигнализатор, пока все остальные участники не сигнализируют.

AsyncCountdownEvent

Событие асинхронного отсчета стилей.

AsyncCrossProcessMutex

Мьютекс, который можно вводить асинхронно.

AsyncLazy<T>

Потокобезопасная, ленивая и асинхронно вычисляемая фабрика значений.

AsyncLazyInitializer

Lazily выполняет делегат, который имеет некоторый побочный эффект (обычно инициализация чего-то), так что делегат выполняется не более одного раза.

AsyncLocal<T>

Хранит ссылки, такие что они доступны для получения в том же контексте вызова.

AsyncManualResetEvent

ManualResetEvent Вкус этого можно асинхронно ожидать.

AsyncQueue<T>

Потокобезопасная очередь, асинхронная деqueuable.

AsyncReaderWriterLock

Блокировка без блокировки, которая разрешает одновременный доступ, монопольный доступ или одновременный с возможностью обновления для монопольного доступа.

AsyncReaderWriterLock.Awaiter

Управляет асинхронным доступом к блокировке.

AsyncReaderWriterResourceLock<TMoniker,TResource>

Блокировка без блокировки, которая разрешает одновременный доступ, монопольный доступ или параллельно с возможностью обновления до монопольного доступа, что делает специальные пособия для ресурсов, которые должны быть подготовлены к параллельному или эксклюзивному доступу.

AsyncSemaphore

Асинхронный SemaphoreSlim класс с более удобным синтаксисом выпуска.

AwaitExtensions

Методы расширения и ожидаемые методы для .NET 4.5.

CancellationTokenExtensions

CancellationTokenРасширения в .

DelegatingJoinableTaskFactory

Базовый класс JoinableTaskFactory для производных типов, которые делегировать часть своей работы существующему экземпляру.

DispatcherExtensions

Методы расширения для WPF Dispatcher для улучшения взаимодействия с JoinableTaskFactoryним.

HangReportContribution

Вклад в статистический отчет зависания.

IllegalSemaphoreUsageException

Исключение, которое возникает при нарушении контракта ReentrantSemaphore .

JoinableTask

Отслеживает асинхронные операции и обеспечивает возможность присоединения к этим операциям, чтобы избежать взаимоблокировок, синхронно блокируя основной поток для завершения операции.

JoinableTask<T>

Отслеживает асинхронные операции и обеспечивает возможность присоединения к этим операциям, чтобы избежать взаимоблокировок, синхронно блокируя основной поток для завершения операции.

JoinableTaskCollection

Коллекция неполных JoinableTask объектов.

JoinableTaskContext

Общий контекст, в котором могут создаваться присоединенные задачи и взаимодействовать, чтобы избежать взаимоблокировок.

JoinableTaskContext.HangDetails

Класс для инкапсулировать сведения о возможном зависении. Экземпляр этого JoinableTaskContext.HangDetails класса будет передан JoinableTaskContextNode экземплярам, которые зарегистрировали уведомления о зависаниях.

JoinableTaskContextException

Исключение, возникающее при неправильной настройке JoinableTaskContext или переопределении виртуального метода, которое нарушает контракт. Это исключение не должно быть поймано. Возникает при возникновении ошибки программирования приложения.

JoinableTaskContextNode

Настраиваемый JoinableTaskFactory источник экземпляров.

JoinableTaskFactory

Фабрика для запуска асинхронных задач, которая может снизить взаимоблокировки, когда задачам требуется основной поток приложения, и основной поток может блокироваться при завершении задачи.

NoMessagePumpSyncContext

SyncContext, синхронно блокирующий метод Wait, не разрешает повторное выполнение с помощью насоса сообщений.

NonConcurrentSynchronizationContext

Объект SynchronizationContext , который выполняет сообщения в порядке их получения.

ProgressWithCompletion<T>

Механизм добавочного отчета о ходе выполнения, который также позволяет асинхронно ожидать обработки всех отчетов.

ReentrantSemaphore

Семафор JoinableTaskFactoryсемафор, поддерживающий повторное выполнение без использования другого слота в семафоре.

SemaphoreFaultedException

Исключение, возникающее при ReentrantSemaphore возникновении сбоя.

SingleThreadedSynchronizationContext

Контекст синхронизации с одним потоком, а также контекст диспетчеризацииSynchronizationContext и WindowsFormsSynchronizationContext.

SingleThreadedSynchronizationContext.Frame

Кадр перекачки сообщений, который может быть отправлен для PushFrame(SingleThreadedSynchronizationContext+Frame) перекачки сообщений в потоке владения.

ThreadingTools

Служебные методы для работы между потоками.

TplExtensions

Расширения в библиотеке параллельных задач.

Структуры

Имя Описание
AsyncCrossProcessMutex.LockReleaser

Значение, возвращаемое из EnterAsync(TimeSpan) него, должно быть удалено для освобождения мьютекса.

AsyncLazy<T>.RevertRelevance

Структура, которая скрывает релевантность блока кода из определенного AsyncLazy<T> объекта, с JoinableTaskContext которым он был создан.

AsyncReaderWriterLock.Awaitable

Ожидание, возвращаемое из асинхронных запросов блокировки.

AsyncReaderWriterLock.LockHandle

Представление "общедоступной" блокировки.

AsyncReaderWriterLock.Releaser

Значение, удаление которого освобождает удерживаемую блокировку.

AsyncReaderWriterLock.Suppression

Значение, удаление которого восстанавливает видимость любых блокировок, удерживаемых вызывающим элементом.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable

Ожидание, возвращаемое из асинхронных запросов блокировки.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaiter

Управляет асинхронным доступом к блокировке.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceReleaser

Значение, удаление которого освобождает удерживаемую блокировку.

AsyncSemaphore.Releaser

Значение, удаление которого активирует выпуск блокировки.

AwaitExtensions.AggregateExceptionAwaitable

Результат подготовки ConfigureAwaitForAggregateException(Task, Boolean) к ожиданию Task при вызове всех внутренних исключений.

AwaitExtensions.AggregateExceptionAwaiter

Результат подготовки GetAwaiter() к ожиданию Task при вызове всех внутренних исключений.

AwaitExtensions.ConfiguredTaskYieldAwaitable

Ожидание, которое всегда приведет к получению вызывающего асинхронного метода, а затем немедленно возобновляется, возможно, на исходном SynchronizationContext.

AwaitExtensions.ConfiguredTaskYieldAwaiter

Ожидание, которое всегда приведет к получению вызывающего асинхронного метода, а затем немедленно возобновляется, возможно, на исходном SynchronizationContext.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable

Задача, которая имеет сходство с выполнением обратных вызовов синхронно в завершенном вызове.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

Задача, которая имеет сходство с выполнением обратных вызовов синхронно в завершенном вызове.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

Средство ожидания задачи, которое имеет сходство с выполнением обратных вызовов синхронно в завершенном вызове.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter<T>

Средство ожидания задачи, которое имеет сходство с выполнением обратных вызовов синхронно в завершенном вызове.

AwaitExtensions.SynchronizationContextAwaiter

Ожидающий вернулся из GetAwaiter(SynchronizationContext).

AwaitExtensions.TaskSchedulerAwaitable

Ожидание, которое выполняет продолжение для указанного планировщика задач.

AwaitExtensions.TaskSchedulerAwaiter

Ожидающий вернулся из GetAwaiter(TaskScheduler).

CancellationTokenExtensions.CombinedCancellationToken

Предоставляет доступ к тому CancellationToken , который объединяет несколько других маркеров и позволяет удобное удаление любых применимых CancellationTokenSource.

JoinableTaskCollection.JoinRelease

Значение, удаление которого Join() отменяет операцию.

JoinableTaskContext.RevertRelevance

Структура, которая очищает асинхронные и потоковые статические функции CallContext и восстанавливает эти значения при удалении этой структуры.

JoinableTaskFactory.MainThreadAwaitable

Ожидаемая структура, которая упрощает асинхронный переход к основному потоку.

JoinableTaskFactory.MainThreadAwaiter

Структуру ожидания, которая упрощает асинхронный переход в основной поток.

JoinableTaskFactory.ProcessingDisabledOperation

Структуру, удаление которой приведет к возврату эффекта предыдущего вызова DisableProcessing().

JoinableTaskInternals.JoinableTaskToken

Microsoft. Пространство имен VisualStudio.Threading содержит API для использования в проектах пакета SDK Visual Studio. Эти API следует использовать для асинхронного программирования в Visual Studio. Это помогает избежать взаимоблокировок

Эта библиотека основана на библиотеке параллельных задач .NET Framework (TPL). Сведения об этой библиотеке см. в разделе "Библиотека параллельных задач" (TPL).

ReentrantSemaphore.RevertRelevance

Структура, которая скрывает все доказательства того, что вызывающий объект вошел в число ReentrantSemaphore , пока это значение не будет удалено.

SpecializedSyncContext

Структура, которая применяет и возвращает изменения в SynchronizationContext.

TplExtensions.NoThrowTaskAwaitable

Ожидание, которое упаковывает задачу и никогда не создает исключение при ожидании.

TplExtensions.NoThrowTaskAwaiter

Средство ожидания, которое упаковывает задачу и никогда не создает исключение при ожидании.

TplExtensions.NoThrowValueTaskAwaitable

Ожидание, которое упаковывает задачу и никогда не создает исключение при ожидании.

TplExtensions.NoThrowValueTaskAwaitable<TResult>

Ожидание, которое упаковывает и ValueTask<TResult> никогда не создает исключение при ожидании.

TplExtensions.NoThrowValueTaskAwaiter

Средство ожидания, которое упаковывает задачу и никогда не создает исключение при ожидании.

TplExtensions.NoThrowValueTaskAwaiter<TResult>

Средство ожидания, которое упаковывает задачу и никогда не создает исключение при ожидании.

Интерфейсы

Имя Описание
IAsyncDisposable

Определяет асинхронный метод для выпуска выделенных ресурсов.

IHangReportContributor

Предоставляет возможность создавать отчеты, которые могут быть полезны при анализе зависания.

Перечисления

Имя Описание
AsyncReaderWriterLock.LockFlags

Флаги, изменяющие поведение блокировки по умолчанию.

AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags

Флаги, изменяющие поведение блокировки по умолчанию.

JoinableTaskCreationOptions

Задает флаги, которые управляют необязательным поведением для создания и выполнения задач.

ReentrantSemaphore.ReentrancyMode

Описывает способы ReentrantSemaphore поведения, когда запрос семафора выполняется в контексте, который уже находится в семафоре.

RegistryChangeNotificationFilters

Различные типы данных в разделе реестра, создающие уведомления при изменении.

Делегаты

Имя Описание
AsyncEventHandler

Асинхронный обработчик событий.

AsyncEventHandler<TEventArgs>

Асинхронный обработчик событий.