9 dépôts
Architectural patterns for designing multi-threaded systems that ensure data consistency.
Distinguishing note: Focuses on architectural patterns for concurrency rather than low-level threading APIs.
Explore 9 awesome GitHub repositories matching software engineering & architecture · Concurrent Programming Patterns. Refine with filters or upvote what's useful.
The CppCoreGuidelines is a comprehensive software engineering standard that provides a curated framework of coding conventions and design principles for C++. It serves as an authoritative guide for writing safe, efficient, and maintainable code by establishing high-level architectural patterns and organizational principles for large-scale projects. The guidelines emphasize the use of a strong, static type system to ensure memory safety and enforce consistent resource management patterns. The project distinguishes itself by promoting the zero-overhead abstraction principle, ensuring that high-
Provides architectural guidance for building thread-safe and parallel systems.
This project is a collection of guidelines and best practices for the Go programming language, providing a comprehensive style guide and set of programming standards. It establishes a framework for writing maintainable and performant source code through standardized naming, structuring, and organizational conventions. The guide focuses on specific patterns for concurrency, error handling, and performance optimization. It details methods for managing goroutine lifecycles to prevent race conditions, designing structured error wrapping and routing to maintain observability, and implementing memo
Defines architectural patterns for concurrent programming to ensure data consistency and safety.
This project is a comprehensive library of reference implementations for fundamental data structures and algorithms, designed to support technical interview preparation and software engineering assessments. It provides a structured collection of computational techniques for solving complex problems involving arrays, strings, graphs, trees, and mathematical analysis. The library distinguishes itself by offering specialized implementations for advanced topics, including concurrent programming patterns and geometric algorithms. It features thread-safe primitives for managing shared state and tas
Features thread-safe primitives and architectural patterns for managing shared state and task scheduling.
This project is a comprehensive functional programming curriculum and learning resource for Haskell. It provides sequenced educational paths and technical reference guides designed to take developers from beginner to advanced levels of proficiency. The project distinguishes itself through a deep focus on theoretical and technical foundations, offering detailed studies on type theory, category theory, and runtime internals. It includes a dedicated performance handbook for optimizing execution speed and memory management, as well as an ecosystem guide for managing development tools and editor c
Teaches concurrent programming patterns for implementing multi-threaded applications and reactive systems.
This is a collection of academic programming projects that accompany an operating systems textbook, designed to teach core OS concepts through hands-on implementation. The projects span the major subsystems of an operating system, including process scheduling, memory management, file systems, and concurrency, with students building components from scratch in a simulated environment. The projects are structured to cover the full range of OS internals, from low-level kernel development to user-space system programming. Students implement lottery-based CPU schedulers, dynamic heap memory allocat
Provides multi-threaded programming exercises that teach synchronization and parallel workload handling.
Ce projet est un guide complet et un livre technique axé sur la concurrence en C++. Il sert de ressource pédagogique pour permettre aux développeurs d'apprendre le multi-threading et l'implémentation de code thread-safe. Le contenu couvre le modèle mémoire C++, les opérations atomiques et les modèles de synchronisation. Il combine des explications théoriques avec des exemples de code pratiques pour illustrer comment prévenir les data races dans les applications multi-threadées. L'approche pédagogique utilise l'apprentissage par scénarios et l'analyse de la bibliothèque standard C++ pour démontrer les modèles d'exécution concurrente et les contraintes d'ordonnancement mémoire.
Includes lessons and exercises for implementing thread-safe code and synchronization.
This project is a concurrent programming knowledge base and tutorial series focused on Java synchronization, locks, and performance scalability. It serves as an implementation guide for mastering multi-threading and the management of shared resources in Java. The content is organized as a structured hierarchy of technical articles and guided tutorials. It pairs common multi-threading pitfalls with specific implementation patterns and fixes to assist with concurrency troubleshooting and the prevention of race conditions. The knowledge base utilizes a relational technical framework and modular
Provides architectural patterns for designing multi-threaded systems to improve performance and scalability.
This project is a technical curriculum and set of educational resources focused on parallel programming, high-performance computing, and systems programming. It provides a structured course covering the implementation of parallel algorithms and multithreading techniques for processing large datasets. The project includes a systems programming guide for modern language features, a framework for lock-free concurrency patterns, and a manual for optimizing CPU and GPU performance through assembly analysis and cache management. The material covers hardware performance tuning, the implementation o
Provides architectural patterns for designing multi-threaded systems that ensure data consistency.
Ce dépôt sert de ressource complète pour la programmation compétitive et la préparation aux entretiens techniques. Il fournit une collection structurée d'implémentations de code source pour des structures de données fondamentales et des problèmes algorithmiques classiques, conçus pour aider les développeurs à maîtriser les concepts fondamentaux de l'informatique et les stratégies de codage efficaces. Au-delà de la résolution de problèmes standard, le projet se distingue en intégrant des modèles de conception logicielle dans ses implémentations algorithmiques. Il démontre comment appliquer des modèles structurels et comportementaux — tels que les décorateurs, les observateurs et les singletons — pour maintenir un code propre et extensible. De plus, le dépôt couvre les modèles de programmation concurrente, offrant des exemples de gestion de pool de threads et de techniques de synchronisation pour gérer les tâches intensives en ressources. La collection inclut un large éventail de matériaux éducatifs, de l'analyse de complexité et des modèles de résolution de problèmes aux implémentations spécifiques pour le parcours de graphes, la programmation dynamique et les requêtes de plage. Ces ressources sont organisées pour aider à la fois à apprendre les techniques fondamentales et à pratiquer pour les évaluations techniques professionnelles.
Implements multi-threaded logic and synchronization techniques to handle complex tasks and improve performance in resource-intensive applications.