Async synchronization primitives, async collections, TPL and dataflow extensions. The JoinableTaskFactory allows synchronously blocking the UI thread for async work. This package is applicable to any .NET application (not just Visual Studio). This package contains only the library, without a dependency on the analyzers. Use the Microsoft.VisualStudio.Threading package to get the library and analyzers together.
$ dotnet add package Microsoft.VisualStudio.Threading.OnlyAsync synchronization primitives, async collections, TPL and dataflow extensions. The JoinableTaskFactory allows synchronously blocking the UI thread for async work. This package is applicable to any .NET application (not just Visual Studio).
AsyncAutoResetEventAsyncBarrierAsyncCountdownEventAsyncManualResetEventAsyncReaderWriterLockAsyncSemaphoreReentrantSemaphoreAsyncEventHandlerAsyncLazy<T>AsyncLazyInitializerAsyncLocal<T>AsyncQueue<T>TaskScheduler to switch to it.
Switch to a background thread with await TaskScheduler.Default;Task with a timeoutTask with cancellationJoinableTaskFactory 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.