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.

License

Notifications You must be signed in to change notification settings

lifengl/vs-threading

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Microsoft.VisualStudio.Threading

NuGet package Build Status Join the chat at https://gitter.im/vs-threading/Lobby

Analyzers: NuGet package

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 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.

Documentation

Supported platforms

  • .NET 4.5
  • .NET 4.6
  • .NET Standard 1.3
  • .NET Standard 2.0

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 97.5%
  • PowerShell 2.2%
  • Other 0.3%