Microsoft.VisualStudio.Threading 命名空间

Microsoft.VisualStudio.Threading 命名空间包含在 Visual Studio SDK 项目中使用的 API。 你应在 Visual Studio 中对异步编程使用这些 API。 这样做可有助于避免死锁

此库基于 .NET framework 任务并行库 (TPL)。 有关此库的信息,请参阅 任务并行库 (TPL)

AsyncAutoResetEvent

AutoResetEvent 的异步实现。

AsyncBarrier

一个异步屏障,可阻止信号器,直到所有其他参与者发出信号为止。

AsyncCountdownEvent

异步样式倒计时事件。

AsyncCrossProcessMutex

可以异步输入的互斥体。

AsyncLazy<T>

线程安全、延迟和异步计算的值工厂。

AsyncLazyInitializer

Lazily 执行具有一些副作用的委托 (通常初始化某些) ,使委托最多运行一次。

AsyncLocal<T>

存储引用,以便可以在同一调用上下文中检索引用。

AsyncManualResetEvent

可以异步等待的味道 ManualResetEvent

AsyncQueue<T>

线程安全的异步 dequeuable 队列。

AsyncReaderWriterLock

允许并发访问、独占访问或并发且可升级到独占访问的非阻止锁。

AsyncReaderWriterLock.Awaiter

管理对锁定的异步访问。

AsyncReaderWriterResourceLock<TMoniker,TResource>

非阻塞锁允许并发访问、独占访问或可升级为独占访问的并发访问,特别允许必须为并发或独占访问准备的资源。

AsyncSemaphore

具有更方便的发布语法的异步 SemaphoreSlim like 类。

AwaitExtensions

.NET 4.5 的扩展方法和 awaitable。

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

同步阻塞 Wait 方法不允许任何通过消息泵重新进入的 SynchronizationContext。

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

特定锁定的“public”表示形式。

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

一个 Task awaitable,它与在完成的调用堆栈上同步执行回调具有相关性。

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

一个 Task awaitable,它与在完成的调用堆栈上同步执行回调具有相关性。

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

一个任务等待程序,它与在完成的调用堆栈上同步执行回调具有相关性。

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter<T>

一个任务等待程序,它与在完成的调用堆栈上同步执行回调具有相关性。

AwaitExtensions.SynchronizationContextAwaiter

GetAwaiter(SynchronizationContext) 中返回的 awaiter。

AwaitExtensions.TaskSchedulerAwaitable

在指定任务计划程序中执行继续的 awaitable。

AwaitExtensions.TaskSchedulerAwaiter

GetAwaiter(TaskScheduler) 中返回的 awaiter。

CancellationTokenExtensions.CombinedCancellationToken

提供对 CancellationToken 组合多个其他令牌的访问,并允许方便地处置任何适用的 CancellationTokenSource

JoinableTaskCollection.JoinRelease

清除后将取消 Join() 操作的值。

JoinableTaskContext.RevertRelevance

一个结构,用于清除 CallContext 和 SynchronizationContext 异步/线程静态,并在释放此结构时还原这些值。

JoinableTaskFactory.MainThreadAwaitable

将异步过渡简化为主线程的可等待结构。

JoinableTaskFactory.MainThreadAwaiter

有助于异步转换到主线程的 awaiter 结构。

JoinableTaskInternals.JoinableTaskToken

Microsoft.VisualStudio.Threading 命名空间包含在 Visual Studio SDK 项目中使用的 API。 你应在 Visual Studio 中对异步编程使用这些 API。 这样做可有助于避免死锁

此库基于 .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>

一个异步事件处理程序。