Skip to content
The Microsoft.VisualStudio.Threading is a xplat library that provides many threading and synchronization primitives used in Visual Studio and other applications.
Branch: master
Clone or download
Latest commit a8e7917 Feb 23, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Normalize text files in the repository Aug 5, 2018
azure-pipelines Merge remote-tracking branch 'upstream/v15.8' into v16.0 Feb 22, 2019
doc Merge remote-tracking branch 'upstream/v15.8' Jan 2, 2019
src Merge branch 'v15.8' Feb 22, 2019
tools Stop downloading credential helper Jan 23, 2017
.vsts-ci.yml CI builds v16.0 branch Feb 5, 2019
LICENSE Update Jan 3, 2019


NuGet package Build Status Join the chat at

Analyzers: NuGet package


  • 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 with await TaskScheduler.Default;
    • Await on a Task with a timeout
    • Await on a Task with cancellation
  • 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.


Supported platforms

  • .NET 4.5
  • .NET 4.6
  • .NET Standard 1.3
  • .NET Standard 2.0
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.