10 dépôts
Logic for booting, rebooting, and shutting down runtime threads for resource recovery.
Distinct from Thread Managers: Focuses on the lifecycle coordination of the runtime threads rather than just debugging them.
Explore 10 awesome GitHub repositories matching development tools & productivity · Execution Thread Coordinators. Refine with filters or upvote what's useful.
FrankenPHP is a Go-based PHP runtime and application server that integrates a web server and PHP interpreter to host applications without requiring a separate process manager. It functions as a worker mode server that keeps applications in memory across requests to eliminate bootstrap overhead and a static binary bundler that packages applications and the server into a single self-contained executable. The project distinguishes itself by allowing the embedding of a PHP runtime directly into Go programs and enabling the development of PHP extensions using the Go language. It also includes a bu
Manages the lifecycle of execution threads by booting, rebooting, and shutting down processes.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Coordinates parallel execution and result collection through the use of thread groups.
Borgo est un langage typé statiquement et un compilateur qui transforme une syntaxe de haut niveau en code source Go. Il fonctionne comme un transpiler conçu pour tirer parti du runtime Go tout en introduisant un système de types centré sur les types de données algébriques et la gestion des erreurs basée sur les résultats. Le langage se distingue en remplaçant les valeurs de retour multiples de Go par des types result et option, utilisant un opérateur dédié pour une propagation concise des erreurs. Il implémente des types somme avec filtrage par motif exhaustif et fournit un outil pour générer des bindings pour les packages Go existants, convertissant automatiquement les retours multi-valeurs en ces wrappers de types plus sûrs. Le système inclut des primitives pour la programmation concurrente, utilisant des canaux typés et des tâches en arrière-plan pour coordonner les processus asynchrones. Son système de types prend en charge l'implémentation d'interfaces structurelles, l'inférence automatique des types de collection et des blocs d'implémentation pour organiser les méthodes sur les structs.
Enables waiting on multiple channel operations and executing logic based on which process completes first.
Cette bibliothèque de concurrence Java fournit une suite d'outils pour gérer l'exécution multi-thread, la synchronisation et la cohérence de la mémoire. Elle sert de framework complet pour implémenter l'exécution concurrente via des atomiques sans verrou, des collections thread-safe, des primitives de coordination de tâches et des pools de travailleurs. Le projet inclut une boîte à outils de synchronisation de threads dédiée comprenant des verrous, des barrières et des sémaphores pour coordonner le timing et l'ordre des tâches concurrentes. Il fournit également une suite de collections concurrentes de maps, files d'attente et listes qui permettent le partage de données sans verrouillage manuel, ainsi qu'un framework d'opérations atomiques pour les mises à jour sans verrouillage des types de base et des références. La bibliothèque couvre de vastes domaines de capacité, incluant la gestion de pool de threads pour optimiser l'utilisation des ressources, l'analyse du modèle de mémoire pour assurer la visibilité des données et divers mécanismes de gestion de verrouillage pour prévenir les conditions de course. Ces outils soutiennent collectivement le développement d'applications multi-thread qui maintiennent des transitions d'état cohérentes à travers la mémoire partagée.
Provides coordination primitives such as latches, barriers, and semaphores to synchronize the timing of concurrent tasks.
Amp is a non-blocking concurrency framework for PHP. It provides a core infrastructure for writing asynchronous applications using an event loop to schedule operations, timers, and signals within a single process. The project implements a coroutine library that utilizes fibers to suspend and resume function execution. This allows the system to handle concurrent tasks without blocking the main execution thread, optimizing CPU usage during input and output operations. It further manages pending operation results through a future and promise implementation. The framework covers a broad range of
Awaits collections of tasks using strategies that wait for all completions, the first success, or a specific count.
Ce projet est un dépôt pédagogique et une ressource d'apprentissage fournissant une collection complète de notes d'étude, de guides de programmation et d'exemples de code exécutables. Il sert de guide pour le développement Java SE et web Java, présentant une bibliothèque d'exemples de code qui démontrent des algorithmes courants et des implémentations techniques. Le dépôt se concentre sur l'analyse du cœur du langage et du runtime, avec des tutoriels détaillés sur le multithreading et la concurrence. Il fournit des implémentations pratiques de l'architecture logicielle et des modèles de conception (design patterns), tels que les modèles singleton et stratégie, ainsi que des explorations de la Java Virtual Machine et du bytecode. Le projet couvre un large éventail de capacités, notamment les fondamentaux du langage comme les génériques et les annotations, les bases du développement web impliquant la gestion des requêtes HTTP et des sessions, et les primitives de concurrence pour le cycle de vie des threads et la synchronisation des ressources. Il inclut également des utilitaires pour la sécurité, le traitement des données et la génération de pages dynamiques.
Demonstrates how to group multiple threads to handle their lifecycles and exceptions collectively.
Curio est une bibliothèque Python dédiée à la concurrence structurée et à la programmation réseau asynchrone. Elle sert de framework pour gérer des milliers de connexions TCP simultanées grâce à des sockets non bloquants et des entrées/sorties à haut débit. La bibliothèque organise les opérations asynchrones dans une hiérarchie de coroutines parentes et enfants pour garantir une terminaison et un nettoyage fiables des tâches dépendantes. Elle fournit une boîte à outils pour coordonner ces opérations concurrentes via des groupes de tâches et des délais d'attente (timeouts). Le framework couvre un large éventail de capacités de gestion de la concurrence, incluant la communication inter-tâches via des files d'attente et la synchronisation de ressources partagées à l'aide de verrous (locks) et de sémaphores. Il inclut également la prise en charge de l'exécution de processus externes et le déchargement des tâches bloquantes vers des threads séparés pour maintenir la réactivité de la boucle d'événements.
Implements coordination strategies such as task groups and timeouts to ensure system stability.
Zen-C is a multi-target systems language and source-to-source compiler that translates high-level logic into human-readable GNU C or C11 code. It functions as a JIT-enabled programming language with an in-process compiler for real-time interactive code evaluation and testing. The project serves as a CUDA GPU kernel generator, mapping specialized syntax to CUDA C++ using device attributes to target graphics hardware. It acts as an interoperability layer capable of emitting compatible code for C++, Objective-C, and Lisp to bridge native system frameworks and libraries. The language includes an
Coordinates multiple simultaneous tasks using threads and synchronization primitives to prevent data conflicts.
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
Ships a concurrency toolkit with async mutexes and latches to coordinate multi-threaded execution.
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 cover
Provides a comprehensive set of synchronization primitives specifically designed for .NET asynchronous tasks.