7 dépôts
Mechanisms for executing multiple asynchronous operations simultaneously and resolving based on the first successful completion.
Distinct from Asynchronous Task Processing: Distinct from general Asynchronous Task Processing: focuses specifically on the race condition pattern where only the fastest result is needed.
Explore 7 awesome GitHub repositories matching development tools & productivity · Task Racing. Refine with filters or upvote what's useful.
Async is a JavaScript asynchronous flow library designed to manage the execution and coordination of asynchronous tasks in Node.js and the browser. It provides functional utilities to wrap, process, and orchestrate complex asynchronous workflows. The library distinguishes itself through a comprehensive task orchestrator that handles dependency graphs to resolve circular references and manages concurrent task queues. It includes a unification bridge that allows callback-style and promise-based functions to operate within the same execution interface. The project covers several primary capabil
Async runs multiple tasks simultaneously and returns the result from the first one that completes.
Redux-Saga is a middleware for managing complex asynchronous flows and side effects in Redux applications. It functions as an asynchronous state orchestrator and side effect manager that uses JavaScript generator functions to coordinate concurrent tasks and long-running background processes tied to a global state store. The system utilizes a generator-based effect middleware to handle external I/O and API requests outside of the main application logic. It provides a mechanism to start, pause, and cancel multiple asynchronous operations, allowing the application to prevent race conditions and
Coordinates multiple competing asynchronous requests by resolving the first to complete and cancelling all others.
fp-ts is a TypeScript library that brings pure functional programming patterns to the language through algebraic data types, type class abstractions, and composable combinators. It provides foundational data types like Option for optional values, Either for typed error handling, and Task for lazy asynchronous computations, all designed to make invalid states unrepresentable and side effects explicit. The library is built on category theory concepts, offering type classes such as Functor, Applicative, Monad, Semigroup, and Monoid with lawful instances for common data structures. The library di
Returns the result of the first task to complete among a collection using a monoid.
Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming patterns. It serves as a framework for typed error handling, a concurrency toolkit, and a library for the manipulation of immutable data. The project distinguishes itself through specialized capabilities for managing application failures using explicit types instead of exceptions and implementing resilience patterns such as circuit breakers and retry policies for distributed services. It also provides optics to update and query deeply nested immutable data structures without man
Executes multiple asynchronous operations simultaneously and resolves based on the first successful completion.
Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th
Resolves a future as soon as the first among a set of futures resolves.
RxPY est une bibliothèque de programmation réactive fonctionnelle et une bibliothèque d'observables ReactiveX pour Python. Elle sert de processeur de flux asynchrone et de framework de coordination piloté par les événements, utilisé pour construire des pipelines de données qui réagissent aux changements d'état ou aux flux d'événements au fil du temps. La bibliothèque fournit une boîte à outils pour composer des programmes asynchrones et basés sur les événements en utilisant des séquences observables et des opérateurs. Elle se distingue par l'utilisation de planificateurs configurables pour gérer la concurrence, le timing et les cycles de vie des abonnements. Le projet couvre un large éventail de capacités de traitement de flux, y compris l'agrégation, le filtrage et la combinaison de données. Il fournit des mécanismes pour la diffusion d'événements, la mise en tampon de séquences et la gestion des erreurs, ainsi que des outils pour coordonner les flux observables avec des boucles d'événements asynchrones. Les tests et l'assurance qualité sont pris en charge par la simulation de temps virtuel, la modélisation par diagrammes de billes et la vérification des émissions.
Monitors multiple asynchronous sequences and propagates only the value from the one that reacts first.
ZIO is a functional effect system for the JVM that models asynchronous and concurrent programs as pure, composable values with typed error handling and dependency injection. Its core identity is built on fiber-based concurrency, where lightweight, non-blocking fibers execute millions of concurrent tasks with structured lifecycle management, and a dual-channel error model that separates expected business failures from unexpected system defects at compile time. The system provides effect-typed dependency injection through a layer-based dependency graph, pull-based reactive stream processing with
Runs two effects in parallel and returns the first successful result.