Found 46 packages
Provides the fundamental synchronization primitives, including System.Threading.Monitor and System.Threading.Mutex, that are required when writing asynchronous code. Commonly Used Types: System.Threading.Monitor System.Threading.SynchronizationContext System.Threading.ManualResetEvent System.Threading.AutoResetEvent System.Threading.ThreadLocal<T> System.Threading.EventWaitHandle System.Threading.SemaphoreSlim System.Threading.Mutex When using NuGet 3.x this package requires at least version 3.4.
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).
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.
Adds a concept of thread safety to C# and VB so that most threading defects are detected at build-time or in a single-threaded test coverage. Includes a deadlock detection policy and thread dispatching aspects. An official PostSharp pattern library.
Useful set of extensions and classes for simplifying and optimizing read-write synchronization. Part of the "Open" set of libraries.
Run your xunit-based tests on an STA thread with the WPF Dispatcher, a WinForms SynchronizationContext, or even a cross-platform generic UI thread emulation with a SynchronizationContext that keeps code running on a "main thread" for that test. Simply use [WpfFact], [WinFormsFact], [StaFact] or the cross-platform [UIFact] on your test method to run your test under conditions that most closely match the main thread in your application. Theory variants of these attributes allow for parameterized testing. Check out the xunit.combinatorial nuget package for pairwise or combinatorial testing with theories.
InSync is a general purpose library providing easy ways to correctly write thread-safe code for .NET.
Define and validate hypothesis on future events.
Represents a single threading synchronization.
ConfigureAwait(true) and ConfigureAwait(false) are very important when dealing with asynchronous code. However, they make code hard to read and easy to fail. ObviousAwait introduces two aliases: KeepContext() and FreeContext(), reducing the cognitive load while reading and writing asynchronous code.
Crawler-Lib Concurrency Testing allows to write unit tests with multiple threads to test the concurrency behavior of components. It has synchronization mechanisms to control the workflow of the threads and to record the execution steps. It is also possible to use it for client/server tests. It can be used in conjunction with any unit test framework or with handwritten tests.
Plugin the hypothesis as a consumer into MassTransit to validate message arrival.
Useful set of extensions and classes for simplifying and optimizing thread safe operations and synchronization. Part of the "Open" set of libraries.
Collection of useful classes for your .NET application: Object Pool, Thread Pool, Queue Async Processor, BlockingQueue, DiskQueue, ThreadSetManager, Throttling, Semaphore, EntryCounteringEvent, Collections, ReadOnlyCollections, IoC, WeakEvent and other.
Class library that provides classes for executing tasks that need to be synchronized from the same thread, asynchronously, in an asynchronous environment. Includes an asynchronous Mutex class.
Plugin the hypothesis as a handler into Rebus to validate message arrival.
In-process .NET Standard implementation of an awaitable semaphore.
An asynchronous class that functions as a lock based on provided ticket objects instead of the current thread.
Test your hypothesis easily with a ServiceBusProcessor.
Plugin the hypothesis as a middleware into aspnet to validate requests and responses.