vs-threading
vs-threading copied to clipboard
The Microsoft.VisualStudio.Threading is a xplat library that provides many threading and synchronization primitives used in Visual Studio and other applications.
Microsoft.VisualStudio.Threading
Features
- Async versions of many threading synchronization primitives
-
AsyncAutoResetEvent
-
AsyncBarrier
-
AsyncCountdownEvent
-
AsyncManualResetEvent
-
AsyncReaderWriterLock
-
AsyncSemaphore
-
ReentrantSemaphore
-
- Async versions of very common types
-
AsyncEventHandler
-
AsyncLazy<T>
-
AsyncLazyInitializer
-
AsyncLocal<T>
-
AsyncQueue<T>
-
- Await extension methods
- Await on a
TaskScheduler
to switch to it. Switch to a background thread withawait TaskScheduler.Default;
- Await on a
Task
with a timeout - Await on a
Task
with cancellation
- Await on a
-
JoinableTaskFactory
that allows you to schedule asynchronous or synchronous work that does not deadlock with the UI thread even when the UI thread needs to synchronously block on the result.
Documentation
- Overview documentation
- Diagnostic analyzer rules
Supported platforms
- .NET 4.5
- .NET 4.6
- .NET Standard 1.3
- .NET Standard 2.0