Microsoft.VisualStudio.Threading Пространство имен
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Пространство имен Microsoft.VisualStudio.Threading содержит интерфейсы API для использования в проектах Visual Studio SDK. Эти API следует использовать для асинхронного программирования в Visual Studio. Это помогает избежать взаимоблокировки.
Эта библиотека основана на библиотеке параллельных задач .NET Framework (TPL). Сведения об этой библиотеке см. в разделе Библиотека параллельных задач (TPL).
Классы
AsyncAutoResetEvent |
Асинхронная реализация autoResetEvent. |
AsyncBarrier |
Асинхронный барьер, который блокирует сигнализатор до тех пор, пока все остальные участники не поймеют. |
AsyncCountdownEvent |
Событие обратного отсчета в асинхронном стиле. |
AsyncCrossProcessMutex |
Мьютекс, который можно ввести асинхронно. |
AsyncLazy<T> |
Потокобезопасная "лениво" и асинхронно вычисляемая фабрика значений. |
AsyncLazyInitializer |
Отложенно выполняет делегат, который имеет некоторый побочный эффект (как правило, инициализация), так что делегат выполняется не более одного раза. |
AsyncLocal<T> |
Хранит ссылки таким образом, чтобы они были доступны для получения в том же контексте вызова. |
AsyncManualResetEvent |
Вариант ManualResetEvent , который можно асинхронно ожидать. |
AsyncQueue<T> |
Потокобезопасная асинхронно удаляемая очередь. |
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 |
Объект SynchronizationContext, синхронно блокирующий метод Wait, не допускает повторного ввода через насос сообщений. |
NonConcurrentSynchronizationContext |
Объект SynchronizationContext , выполняющий сообщения в порядке их получения. |
ProgressWithCompletion<T> |
Механизм инкрементного отчета о ходе выполнения, который также поддерживает асинхронное ожидание обработки всех отчетов. |
ReentrantSemaphore |
Семафор JoinableTaskFactory, поддерживающий повторный вход без использования другого слота в семафоре. |
SemaphoreFaultedException |
Исключение возникает, когда объект ReentrantSemaphore находится в состоянии сбоя. |
SingleThreadedSynchronizationContext |
Однопоточный контекст синхронизации, сродни DispatcherSynchronizationContext и WindowsFormsSynchronizationContext. |
SingleThreadedSynchronizationContext.Frame |
Кадр накачки сообщений, который может быть отправлен с PushFrame(SingleThreadedSynchronizationContext+Frame) для перекачки сообщений в потоке-владельце. |
ThreadingTools |
Вспомогательные методы для работы с потоками. |
TplExtensions |
Расширения для библиотеки параллельных задач. |
Структуры
AsyncCrossProcessMutex.LockReleaser |
Значение, возвращаемое из EnterAsync(TimeSpan) , должно быть удалено, чтобы освободить мьютекс. |
AsyncLazy<T>.RevertRelevance |
Структура, скрывающая релевантность блока кода от конкретного AsyncLazy<T> и созданного JoinableTaskContext с помощью . |
AsyncReaderWriterLock.Awaitable |
Объект awaitable, возвращаемый из запросов асинхронной блокировки. |
AsyncReaderWriterLock.LockHandle |
"Открытое" представление определенной блокировки. |
AsyncReaderWriterLock.Releaser |
Значение, уничтожение которого снимает удерживаемую блокировку. |
AsyncReaderWriterLock.Suppression |
Значение, уничтожение которого восстанавливает видимость любых блокировок, удерживаемых вызывающим объектом. |
AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable |
Объект awaitable, возвращаемый из запросов асинхронной блокировки. |
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 |
Объект awaiter, возвращаемый из GetAwaiter(SynchronizationContext). |
AwaitExtensions.TaskSchedulerAwaitable |
Объект awaitable, который выполняет продолжение в определенном планировщике заданий. |
AwaitExtensions.TaskSchedulerAwaiter |
Объект awaiter, возвращаемый из GetAwaiter(TaskScheduler). |
CancellationTokenExtensions.CombinedCancellationToken |
Предоставляет доступ к объекту , объединяющим CancellationToken несколько других маркеров, и обеспечивает удобное удаление любых применимых CancellationTokenSource. |
JoinableTaskCollection.JoinRelease |
Значение, уничтожение которого отменяет операцию Join(). |
JoinableTaskContext.RevertRelevance |
Структура, которая очищает асинхронные и потоковые статические значения CallContext и SynchronizationContext и восстанавливает эти значения при удалении этой структуры. |
JoinableTaskFactory.MainThreadAwaitable |
Структура awaitable, которая облегчает асинхронный переход в основной поток. |
JoinableTaskFactory.MainThreadAwaiter |
Структуру awaiter, которая упрощает асинхронный переход в основной поток. |
JoinableTaskInternals.JoinableTaskToken |
Пространство имен Microsoft.VisualStudio.Threading содержит интерфейсы API для использования в проектах Visual Studio SDK. Эти API следует использовать для асинхронного программирования в Visual Studio. Это помогает избежать взаимоблокировки. Эта библиотека основана на библиотеке параллельных задач .NET Framework (TPL). Сведения об этой библиотеке см. в разделе Библиотека параллельных задач (TPL). |
ReentrantSemaphore.RevertRelevance |
Структура, скрывающая все доказательства того, что вызывающий объект вошел в , ReentrantSemaphore пока это значение не будет удалено. |
SpecializedSyncContext |
Структура, которая применяет и отменяет изменения в SynchronizationContext. |
TplExtensions.NoThrowTaskAwaitable |
Объект awaitable, который служит оболочкой для задачи и никогда не создает исключение при ожидании. |
TplExtensions.NoThrowTaskAwaiter |
Объект awaiter, который служит оболочкой для задачи и никогда не создает исключение при ожидании. |
TplExtensions.NoThrowValueTaskAwaitable |
Объект awaitable, который служит оболочкой для задачи и никогда не создает исключение при ожидании. |
TplExtensions.NoThrowValueTaskAwaitable<TResult> |
Ожидающий объект , который заключает в оболочку ValueTask<TResult> и никогда не создает исключение при ожидании. |
TplExtensions.NoThrowValueTaskAwaiter |
Объект awaiter, который служит оболочкой для задачи и никогда не создает исключение при ожидании. |
TplExtensions.NoThrowValueTaskAwaiter<TResult> |
Объект awaiter, который служит оболочкой для задачи и никогда не создает исключение при ожидании. |
Интерфейсы
IAsyncDisposable |
Определяет асинхронные методы высвобождения выделенных ресурсов. |
IHangReportContributor |
Предоставляет средства для создания отчетов, которые могут быть полезны при анализе зависаний. |
Перечисления
AsyncReaderWriterLock.LockFlags |
Флаги, которые изменяют поведение блокировки по умолчанию. |
AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags |
Флаги, которые изменяют поведение блокировки по умолчанию. |
JoinableTaskCreationOptions |
Задает флаги, которые управляют необязательным поведением создания и выполнения задач. |
ReentrantSemaphore.ReentrancyMode |
Описывает, как ReentrantSemaphore может вести себя при выполнении запроса семафора в контексте, который уже находится в семафоре. |
RegistryChangeNotificationFilters |
Различные типы данных в разделе реестра, которые создают уведомления при изменении. |
Делегаты
AsyncEventHandler |
Асинхронный обработчик событий. |
AsyncEventHandler<TEventArgs> |
Асинхронный обработчик событий. |