For un runtime pour exécuter des tâches concurrentes, the strongest matches are ponylang/ponyc (Pony is a programming language and runtime built around), actix/actix (Actix is an actor-based concurrent programming framework for Rust) and lunatic-solutions/lunatic (Lunatic is a WebAssembly-based concurrent runtime that implements an). tencent/libco and golang/go round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Nous sélectionnons les dépôts GitHub open-source correspondant à « concurrent runtimes ». Les résultats sont classés par pertinence par rapport à votre recherche — utilisez les filtres ci-dessous pour affiner, ou utilisez l'IA.
Pony is an open-source, actor-model, capabilities-secure, high performance programming language
Pony is a programming language and runtime built around the actor model with a work‑stealing scheduler and asynchronous message passing, giving you exactly the concurrent runtime primitives—lightweight actors, multi‑core scaling, and low overhead—that this search targets.
Actix is a Rust actor framework and concurrent programming toolkit designed for building applications that manage state through an asynchronous messaging system. It provides a model where independent actors serve as autonomous units of state and logic, communicating via strongly typed messages sent to unique addresses. The framework distinguishes itself by isolating state within these actors, allowing internal data to be mutated safely during message handling without the use of locks or mutexes. It employs an asynchronous mailbox system to buffer incoming requests and uses supervision strateg
Actix is an actor-based concurrent programming framework for Rust that provides asynchronous message passing, isolated state management, and scalable multi-arbiter execution, which fits the visitor's need for concurrency primitives and a scheduling model.
Lunatic is a WebAssembly runtime and concurrent process manager that implements an Erlang-inspired model of lightweight concurrency and fault tolerance. It functions as a distributed actor system where isolated processes communicate via message passing across a network of linked nodes. The system utilizes a WebAssembly sandbox environment to isolate memory and restrict system call permissions for each individual process. This capability-based security model ensures that processes are sandboxed to safely execute untrusted code. The platform provides a fault-tolerant supervision tree for hiera
Lunatic is a WebAssembly-based concurrent runtime that implements an Erlang-inspired actor model with lightweight processes, message passing, work-stealing scheduling, and fault tolerance — directly matching this search for a concurrency framework with green threads and distributed coordination.
libco is a C++ coroutine library and user-space task orchestrator designed for cooperative multitasking and high-concurrency execution. It functions as a high-concurrency network framework and a synchronous-to-asynchronous wrapper that allows blocking system calls and socket functions to run asynchronously without modifying existing business logic. The project utilizes a specialized stack-copying context switching model to support millions of simultaneous TCP connections on a single machine. It includes a high-performance time wheel scheduler for managing asynchronous background jobs and dela
libco is a C++ coroutine library and user-space scheduler that provides green threads, a time-wheel scheduler, and coroutine channels for high-concurrency network programming, making it a solid concurrency framework for systems development, though it is more specialized toward I/O-heavy workloads and does not advertise work-stealing.
Go is a statically typed, compiled programming language designed for building scalable, concurrent software. It provides a memory-safe execution environment that combines a high-performance runtime with a self-hosting compiler toolchain, enabling the creation of statically linked machine code binaries without external dependencies. The language is built around a structural type system that uses interfaces for polymorphism and a concurrency model based on lightweight, stack-based coroutines that communicate through channels. The language distinguishes itself through a runtime that features a c
Go is the Go programming language whose runtime provides lightweight goroutines, channel-based message passing, and a work-stealing scheduler — exactly the kind of concurrent runtime environment this search targets, with mature support for multi-core scaling and low-overhead concurrency.
Crossbeam is a concurrency toolkit for Rust providing low-level primitives for writing multi-threaded programs. It focuses on lock-free data structures and memory management primitives designed for shared-memory concurrent environments. The project includes a work-stealing scheduler that uses double-ended queues to balance workloads across multiple processor cores. This system enables the implementation of work-stealing deques to distribute tasks and prevent bottlenecks. The toolkit covers broader capabilities for parallel algorithm development, multi-threaded task scheduling, and general co
Crossbeam is a Rust concurrency toolkit offering lock-free data structures, multi-producer channels, and a work-stealing scheduler for multi-core scaling, making it a solid fit for a library-based concurrent runtime, though it does not natively provide green threads or async/await.
oneTBB is a C++ parallelism library and framework designed to add multi-core parallelism to applications. It provides a task-based parallelism model that maps logical computational tasks to available hardware cores to eliminate the need for manual thread management. The library functions as a multi-core scaling tool, utilizing generic templates to scale data-parallel operations across processors for portable performance. It employs a task-based framework to ensure computational workloads are distributed across hardware resources. The project covers shared memory parallelism, multi-core task
oneTBB is a C++ parallelism library that provides a task-based concurrency model with a work-stealing scheduler and dynamic load balancing for multi-core scaling, making it a solid concurrency framework for systems programming, though it lacks built-in async/await or actor model support.
Akka is an actor model framework and distributed systems platform used to build concurrent and distributed applications. It provides a toolkit for managing multi-threaded state and behavior through asynchronous message passing, allowing developers to create concurrent applications without manual locks or synchronization. The system functions as a cluster management and event sourcing framework, automating the scaling and coordination of high-availability clusters. It enables the deployment of elastic services that coordinate workloads across multiple network nodes and ensures fault tolerance
Akka is an actor-model concurrency framework that provides message-passing, a work-stealing dispatcher, and multi-core scaling, making it a strong fit for building concurrent applications; it matches the search for a concurrency runtime, though it does not offer native green threads or async/await primitives.
Swoole is a coroutine-based concurrency library and IO framework for PHP. It provides a system for building high-performance network servers and applications by bringing asynchronous, event-driven, and coroutine-based concurrency to the PHP runtime. The project distinguishes itself by implementing user-space coroutine scheduling and non-blocking IO interception, which transforms standard blocking network and file operations into asynchronous actions. It further enables high-speed data exchange across multiple PHP processes through shared memory management and specialized data structures. The
Swoole is a coroutine-based concurrency library that brings user-space green threads and async/await to PHP, with channel-based message passing and a scheduler, making it a solid fit for the concurrent runtime/concurrency framework the visitor is looking for.
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
cppcoro is a C++ coroutine library with a work-stealing thread pool and async primitives for non-blocking I/O, fitting the request for a concurrency framework with coroutine support and scheduling, though it does not include an actor model.
Tokio is an asynchronous runtime for the Rust programming language, designed to manage and execute concurrent tasks efficiently. It provides a multi-threaded execution environment that schedules lightweight tasks across available processor cores, utilizing a work-stealing scheduler to balance computational load. By employing a poll-based execution model and waker-based notifications, the runtime drives asynchronous operations forward without requiring active polling loops, ensuring efficient resource utilization. The project distinguishes itself through a comprehensive suite of tools for high
Tokio is an asynchronous runtime for Rust that provides a multi-threaded, work-stealing scheduler for lightweight tasks, fully supporting async/await and message passing, making it the leading concurrency framework for systems programming in Rust.
Swift is a high-performance, general-purpose programming language designed for safety and speed. It features a modular compiler front-end that transforms source code into optimized machine binaries, utilizing a value-oriented type system that prioritizes predictable state management through value and reference types. The language is built on a task-based concurrency model that schedules asynchronous operations across multicore hardware to ensure data race safety. The project distinguishes itself through a native, bi-directional interoperability mechanism that allows for direct integration wit
Swift is a general-purpose language whose native task-based concurrency model provides async/await, actors, and a work-stealing scheduler for safe multicore parallelism, making it a comprehensive concurrency runtime for systems and application development.
Smol is a lightweight Rust asynchronous runtime and task executor. It provides a suite of foundational tools for scheduling and executing asynchronous futures, managing background workloads, and handling non-blocking network and file operations. The project includes a compatibility layer for adapting asynchronous types and execution contexts, enabling futures to run across different runtime ecosystems. It also features a mechanism to offload synchronous I/O and CPU-intensive operations to dedicated worker thread pools to prevent runtime stalls. Its capabilities cover non-blocking network I/O
Smol is a lightweight Rust asynchronous runtime with a work-stealing executor, async/await support, and message-passing channels, making it a strong fit for the concurrent runtime needs in systems programming.
async-std is a Rust asynchronous runtime and non-blocking I/O library. It serves as an asynchronous standard library, providing a set of alternatives to the core Rust library for managing concurrent tasks, networking, and file system access. The project implements a standard-library-mirrored API, offering asynchronous versions of existing synchronous types to maintain a familiar interface. This approach allows for asynchronous Rust development using an interface that reflects the ergonomics of the language's standard library. The runtime includes a task executor for scheduling and executing
async-std is a Rust async runtime that provides an executor, task spawning, async I/O, and work-stealing scheduling — exactly the concurrency framework you need for green threads, async/await, and message-passing channels.
Kotlinx.coroutines is a library for managing non-blocking background tasks and structured concurrency within the Kotlin programming language. It provides a framework for executing concurrent operations and synchronizing shared state, replacing traditional thread management and complex callback chains with lightweight primitives. The library utilizes a structured concurrency hierarchy to organize hierarchical background tasks, ensuring that lifecycle management, cancellation, and timeout handling propagate automatically to prevent resource leaks. It employs continuation-passing style transform
Kotlinx.coroutines is a comprehensive concurrency framework providing lightweight coroutines, structured concurrency, async/await, and channel-based message passing with multi-core dispatchers, directly matching your need for efficient asynchronous task management.
Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build high-concurrency network servers, including an asynchronous TCP framework, a coroutine library for task management, and dedicated implementations for HTTP and WebSocket servers. The project enables the development of specialized network services using custom frame-based communication protocols. It supports both inbound concurrent server implementation and asynchronous outbound connectivity to remote services. The framework covers a broad range of network programming capabili
Workerman is an event-driven asynchronous socket framework for PHP that provides a coroutine library and high-concurrency networking primitives, fitting the concurrency runtime/concurrency framework category—though it is PHP-specific and lacks explicit work-stealing or actor-model support.
oneAPI Threading Building Blocks (oneTBB)
oneTBB is a mature C++ task-based parallelism library with a work-stealing scheduler and efficient multi-core scaling, fitting the concurrency framework category—though it lacks built-in coroutines or an actor model, its task-parallel primitives map well to the parallel execution needs of systems programming.
Rayon is a data parallelism library for Rust that provides a framework for converting sequential computations into parallel operations. It enables the transformation of standard data structures and loops into parallel iterators, allowing workloads to be distributed across multiple processor cores. By utilizing a work-stealing scheduler, the library dynamically balances tasks to maximize throughput and minimize execution time. The library distinguishes itself through its focus on safe, scoped task synchronization, which ensures that all spawned operations complete before a scope exits to preve
Rayon is a data-parallelism library for Rust that provides a work-stealing scheduler and parallel iterators, squarely fitting the concurrency-framework category but focused on data-parallel rather than general async or coroutine-based concurrency.
Taskflow is a C++ task-parallel framework designed to build high-performance parallel workflows and complex dependency graphs. It provides a programming model that organizes computational work into directed acyclic graphs, enabling developers to manage concurrency, resource scheduling, and task dependencies across multi-core CPUs and GPU accelerators. The framework distinguishes itself through its ability to orchestrate heterogeneous systems, allowing for the integration of hardware-accelerated kernels and memory operations into unified execution pipelines. It supports dynamic runtime subflow
Taskflow is a C++ task-parallel framework that provides a work-stealing scheduler and dependency graph execution for multi-core and heterogeneous systems, directly matching the need for a concurrent runtime with scheduling and parallelism, though it focuses on task graphs rather than green threads or actor models.
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
Concurrent Ruby is a concurrency toolkit for Ruby that provides actors, futures, and thread pools, fitting the search for a concurrency framework with message-passing and async patterns, though it is Ruby-specific and may not include green threads or a work-stealing scheduler.
| Dépôt | Stars | Langage | Licence | Dernier push |
|---|---|---|---|---|
| ponylang/ponyc | 6.1K | Pony | BSD-2-Clause | |
| actix/actix | 9.2K | Rust | Apache-2.0 | |
| lunatic-solutions/lunatic | 4.9K | Rust | Apache-2.0 | |
| tencent/libco | 8.7K | C++ | NOASSERTION | |
| golang/go | 134.8K | Go | BSD-3-Clause | |
| crossbeam-rs/crossbeam | 8.5K | Rust | Apache-2.0 | |
| oneapi-src/onetbb | 6.7K | C++ | Apache-2.0 | |
| akka/akka | 13.3K | Scala | NOASSERTION | |
| swoole/swoole-src | 18.9K | C++ | Apache-2.0 | |
| lewissbaker/cppcoro | 3.8K | C++ | mit |