7 个仓库
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 是一个 Python 函数式响应式编程库,也是 ReactiveX 的可观察对象库。它作为一个异步流处理器和事件驱动的协调框架,用于构建能够对状态变化或随时间变化的事件流做出反应的数据流水线。 该库提供了一套工具,用于使用可观察序列和操作符来编写异步和基于事件的程序。它通过使用可配置的调度器来管理并发、时序和订阅生命周期,从而脱颖而出。 该项目涵盖了广泛的流处理能力,包括数据聚合、过滤和组合。它提供了事件广播、序列缓冲和错误处理机制,以及用于协调可观察流与异步事件循环的工具。 通过虚拟时间模拟、大理石图建模和发射验证,该库提供了完善的测试和质量保证支持。
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.