Microsoft.VisualStudio.Threading 17.11.19-preview

Microsoft.VisualStudio.Threading

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

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.

Showing the top 20 packages that depend on Microsoft.VisualStudio.Threading.

Packages Downloads
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
98
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
94
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
92
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
78
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
77
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
74
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
73
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
72
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
71
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
70
Nerdbank.Streams
Streams for full duplex in-proc communication, wrap a WebSocket, split a stream into multiple channels, etc.
69

Version Downloads Last updated
17.14.15 20 5/16/2025
17.14.2-alpha 31 3/13/2025
17.13.61 22 3/19/2025
17.13.2 38 2/16/2025
17.12.19 35 11/18/2024
17.11.20 41 8/14/2024
17.11.19-preview 44 7/3/2024
17.10.48 51 5/5/2024
17.10.41 43 5/31/2024
17.10.12-preview 54 5/5/2024
17.9.28 44 2/23/2024
17.9.1-alpha 57 12/8/2023
17.8.14 59 11/24/2023
17.7.35 57 11/18/2023
17.7.30 83 8/24/2023
17.7.1-preview 59 8/7/2023
17.6.40 56 5/19/2023
17.5.22 64 3/26/2023
17.5.21 56 5/19/2023
17.5.10-alpha 56 2/28/2023
17.4.33 53 3/15/2023
17.4.27 77 12/10/2022
17.3.48 59 12/10/2022
17.3.44 65 9/21/2022
17.3.1-alpha 67 9/21/2022
17.2.32 75 7/3/2022
17.2.20-alpha 62 7/3/2022
17.1.46 78 7/3/2022
17.0.64 93 7/3/2022
17.0.63 58 7/3/2022
17.0.46-alpha 67 7/3/2022
17.0.32-alpha 66 7/3/2022
17.0.26-alpha 69 7/3/2022
17.0.17-alpha 52 7/3/2022
17.0.15-alpha 59 7/3/2022
17.0.13-alpha 64 7/3/2022
16.10.56 56 7/3/2022
16.10.51-alpha 59 7/3/2022
16.9.60 60 7/3/2022
16.9.54 71 7/3/2022
16.9.51 53 7/3/2022
16.9.45-alpha 60 7/3/2022
16.8.55 67 7/3/2022
16.8.51 72 7/3/2022
16.8.50 58 7/3/2022
16.7.56 57 7/3/2022
16.7.54 66 7/3/2022
16.6.13 84 7/3/2022
16.5.132 62 7/3/2022
16.5.124-alpha 61 7/3/2022
16.5.119-alpha 72 7/3/2022
16.5.108-alpha 69 7/3/2022
16.4.45 69 7/3/2022
16.4.43 57 7/3/2022
16.4.39 72 7/3/2022
16.4.33 81 7/3/2022
16.4.16 67 7/3/2022
16.3.59 80 7/3/2022
16.3.52 65 7/3/2022
16.3.13 57 7/3/2022
16.3.1-alpha 70 7/3/2022
16.0.102 78 7/3/2022
16.0.96-beta 64 7/3/2022
16.0.82-beta 71 7/3/2022
15.8.209 82 7/3/2022
15.8.192 60 7/3/2022
15.8.168 66 7/3/2022
15.8.145 56 7/3/2022
15.8.132 79 7/3/2022
15.8.122 89 7/3/2022
15.8.99-rc 66 7/3/2022
15.8.95-rc 57 7/3/2022
15.8.81-beta 64 7/3/2022
15.8.72-beta 85 7/3/2022
15.8.47-beta 75 7/3/2022
15.8.46-beta 62 7/3/2022
15.7.23 62 7/3/2022
15.7.21 61 7/3/2022
15.7.18 62 7/3/2022
15.7.17 63 7/3/2022
15.7.15-preview 80 7/3/2022
15.6.56 55 7/3/2022
15.6.46 67 7/3/2022
15.6.44 63 7/3/2022
15.6.31 63 7/3/2022
15.6.11-beta 73 7/3/2022
15.5.32 71 7/3/2022
15.5.24 59 7/3/2022
15.5.13-beta 72 7/3/2022
15.5.11-beta 55 7/3/2022
15.5.5-beta 59 7/3/2022
15.4.4 71 7/3/2022
15.3.83 51 7/3/2022
15.3.35 63 7/3/2022
15.3.23 71 7/3/2022
15.3.20 58 7/3/2022
15.2.5 81 7/3/2022
15.0.240 73 7/3/2022
15.0.116-pre 72 7/3/2022
15.0.109-pre 55 7/3/2022
15.0.83-pre 95 7/3/2022
15.0.49-pre 73 7/3/2022
15.0.20-pre 62 7/3/2022
15.0.18-pre 74 7/3/2022
14.1.131 66 7/3/2022
14.1.114 77 7/3/2022
14.1.111 70 7/3/2022
14.0.51107 51 7/3/2022
14.0.51103 50 7/3/2022
14.0.50702 71 7/3/2022
14.0.50522-pre 60 7/3/2022
14.0.50417-pre 69 7/3/2022
12.2.0 77 7/3/2022
12.0.0 71 7/3/2022