awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
StephenCleary avatar

StephenCleary/AsyncEx

0
View on GitHub↗
3,719 stars·371 forks·C#·MIT·16 views

AsyncEx

AsyncEx is a .NET asynchronous synchronization library providing a collection of primitives to coordinate tasks and manage execution flow. It implements mechanisms for asynchronous resource locking, event signaling, and concurrency control to ensure correct execution order in environments supporting async/await.

The library includes an asynchronous lock implementation to protect shared resources without blocking threads, an async semaphore controller to limit simultaneous operations, and an event signaling system to manage the startup and shutdown of asynchronous workflows.

The toolkit covers broader capabilities in concurrency and coordination, including mutual exclusion and the synchronization of multiple asynchronous operations.

Features

  • Async Coordination Primitives - Provides a comprehensive set of synchronization primitives specifically designed for .NET asynchronous tasks.
  • Async Coordination Libraries - Provides a comprehensive set of primitives for synchronizing asynchronous tasks and managing execution flow in .NET.
  • Non-Blocking Async Locks - Implements a mechanism for protecting shared resources in asynchronous environments without blocking threads.
  • Task Coordination Strategies - Implements strategies for awaiting and coordinating the sequence of multiple asynchronous tasks.
  • Asynchronous Operation Synchronizations - Coordinates the order and timing of multiple async operations using completion signals.
  • Asynchronous Mutexes - Provides asynchronous locking mechanisms to protect shared resources and prevent data corruption without blocking threads.
  • Async Synchronization Libraries - Provides a collection of primitives for coordinating asynchronous tasks and managing execution flow in .NET.
  • Synchronization Primitives - Provides asynchronous locks and signals that suspend coroutines to prevent thread blocking.
  • Async Resource Mutexes - Prevents data corruption by ensuring only one asynchronous task can access a shared resource at a time.
  • Inter-Component Event Signals - Provides asynchronous signal primitives like countdown events to coordinate between software components.
  • Async Operation Coordinators - Implements utilities to coordinate the execution flow and timing of asynchronous operations in .NET.
  • Async Resource Locking - Prevents data corruption by ensuring exclusive asynchronous access to shared resources.
  • Async State Signaling - Manages the startup and shutdown of asynchronous workflows by tracking flags and signaling tasks.
  • Asynchronous Synchronization Primitives - Ships a collection of asynchronous synchronization primitives including locks, semaphores, and event signals.
  • Concurrency Semaphores - Provides semaphores to limit the number of concurrent operations and manage available permits.
  • Mutual Exclusion Locks - Provides mutual exclusion locks to ensure only one execution unit accesses a shared resource.
  • Async State Signaling - Coordinates the startup and shutdown of asynchronous workflows using state flags and waiting lists.
  • Cache Resource Locking - Prevents race conditions and data corruption through asynchronous resource locking.
  • FIFO Queue Lock Replacement - Utilizes FIFO queue mechanisms to manage lock acquisition and reduce contention.
  • Async FIFO Lock Queues - Ensures fair access to shared resources by ordering waiting tasks in a FIFO sequence.
  • Async Await Patterns - Implements non-blocking critical section guards using the async/await pattern.
  • Task Completion Source Sync - Uses internal promises to suspend execution until a specific signal triggers the task to resume.
  • Concurrency Limiting - Restricts the number of concurrent asynchronous processes to prevent system resource exhaustion.
  • Application Frameworks - Helper utilities for working with async/await.
  • Async Programming - Helper library for simplifying async and await operations.

Star history

Star history chart for stephencleary/asyncexStar history chart for stephencleary/asyncex

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with AsyncEx

These projects share indexed features with AsyncEx. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • microsoft/vs-threadingmicrosoft avatar

    microsoft/vs-threading

    1,036View on GitHub↗

    Vs-threading is a cross-platform .NET concurrency library and utility set for C# designed to manage multithreaded workflows, coordinate concurrent tasks, and prevent deadlocks. It supplies specialized non-blocking semaphores, events, and locks alongside asynchronous counterparts for lazy initialization, event handlers, and local storage. The library provides awaitable extension methods on tasks to shift execution threads, apply timeouts, and propagate cancellation tokens. It includes mechanisms to stall the main user interface thread synchronously while waiting for background tasks to finish

    C#analyzerasyncdotnet
    View on GitHub↗1,036
  • lewissbaker/cppcorolewissbaker avatar

    lewissbaker/cppcoro

    3,818View on GitHub↗

    cppcoro is a C++ coroutine library and concurrency toolkit providing primitives for asynchronous tasks, lazy generators, and non-blocking execution. It functions as an asynchronous I/O framework for managing network sockets and file operations through an event loop. The library features a work-stealing thread pool for distributing tasks across multiple cores and a set of async generators for producing lazy sequences of values both synchronously and asynchronously. It includes a concurrency toolkit with async mutexes, latches, and shared tasks to coordinate multi-threaded execution. Its capab

    C++asyncasync-awaitasynchronous-programming
    View on GitHub↗3,818
  • sadanandpai/javascript-code-challengessadanandpai avatar

    sadanandpai/javascript-code-challenges

    4,451View on GitHub↗

    This repository is a collection of JavaScript coding challenges and a comprehensive interview guide. It provides reference implementations and educational examples designed to help developers master language fundamentals and prepare for technical interviews. The project covers a wide array of specialized implementations, including functional programming patterns like currying and partial application, as well as asynchronous patterns for concurrency control. It also includes practical examples of Document Object Model manipulation and the implementation of common data structures such as stacks

    MDXchallengescoding-interviewfrontend
    View on GitHub↗4,451
  • sel4/sel4seL4 avatar

    seL4/seL4

    5,583View on GitHub↗

    seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b

    Cmicrokernelossel4
    View on GitHub↗5,583
Compare all 30 related projects→

Frequently asked questions

What does stephencleary/asyncex do?

AsyncEx is a .NET asynchronous synchronization library providing a collection of primitives to coordinate tasks and manage execution flow. It implements mechanisms for asynchronous resource locking, event signaling, and concurrency control to ensure correct execution order in environments supporting async/await.

What are the main features of stephencleary/asyncex?

The main features of stephencleary/asyncex are: Async Coordination Primitives, Async Coordination Libraries, Non-Blocking Async Locks, Task Coordination Strategies, Asynchronous Operation Synchronizations, Asynchronous Mutexes, Async Synchronization Libraries, Synchronization Primitives.

Which projects share features with stephencleary/asyncex?

Projects with overlapping indexed features include: microsoft/vs-threading — Vs-threading is a cross-platform .NET concurrency library and utility set for C# designed to manage multithreaded… lewissbaker/cppcoro — cppcoro is a C++ coroutine library and concurrency toolkit providing primitives for asynchronous tasks, lazy… sel4/sel4 — seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of… sadanandpai/javascript-code-challenges — This repository is a collection of JavaScript coding challenges and a comprehensive interview guide. It provides… sindresorhus/p-queue — p-queue is a JavaScript promise queue and concurrent task scheduler designed to limit the number of active… cl0610/java-concurrency — This Java concurrency library provides a suite of tools for managing multi-threaded execution, synchronization, and…