Need help with vs-threading?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

721 Stars 110 Forks Other 3.5K Commits 88 Opened issues


The Microsoft.VisualStudio.Threading is a xplat library that provides many threading and synchronization primitives used in Visual Studio and other applications.

Services available


Need anything else?

Contributors list


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
    • AsyncLazyInitializer
    • AsyncLocal
    • AsyncQueue
  • Await extension methods
    • Await on a
      to switch to it. Switch to a background thread with
      await TaskScheduler.Default;
    • Await on a
      with a timeout
    • Await on a
      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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.