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> |
Асинхронный обработчик событий. |