9 repositorios
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.
Este proyecto es una guía completa y un libro técnico centrado en la concurrencia en C++. Sirve como recurso educativo para que los desarrolladores aprendan sobre multi-threading y la implementación de código thread-safe. El material cubre el modelo de memoria de C++, operaciones atómicas y patrones de sincronización. Combina explicaciones teóricas con ejemplos prácticos de código para ilustrar cómo prevenir condiciones de carrera (data races) en aplicaciones multi-hilo. El enfoque instructivo utiliza el aprendizaje basado en escenarios y el análisis de la biblioteca estándar de C++ para demostrar patrones de ejecución concurrente y restricciones de ordenamiento de memoria.
Includes lessons and exercises for implementing thread-safe code and synchronization.
Este proyecto es una base de conocimientos y una serie de tutoriales sobre programación concurrente, centrados en la sincronización, los bloqueos (locks) y la escalabilidad del rendimiento en Java. Sirve como guía de implementación para dominar el multihilo y la gestión de recursos compartidos en Java. El contenido está organizado como una jerarquía estructurada de artículos técnicos y tutoriales guiados. Empareja los errores comunes del multihilo con patrones de implementación específicos y soluciones para ayudar en la resolución de problemas de concurrencia y la prevención de condiciones de carrera (race conditions). La base de conocimientos utiliza un marco técnico relacional y un mapeo conceptual modular para conectar primitivas de programación dispares. Estos tutoriales están organizados en una secuencia curada que progresa desde conceptos fundamentales hasta patrones de concurrencia complejos.
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.
Este repositorio sirve como un recurso integral para la programación competitiva y la preparación de entrevistas técnicas. Proporciona una colección estructurada de implementaciones de código fuente para estructuras de datos fundamentales y problemas algorítmicos clásicos, diseñados para ayudar a los desarrolladores a dominar conceptos básicos de ciencias de la computación y estrategias de codificación eficientes. Más allá de la resolución de problemas estándar, el proyecto se distingue por integrar patrones de diseño de software en sus implementaciones algorítmicas. Demuestra cómo aplicar patrones estructurales y de comportamiento —como decoradores, observadores y singletons— para mantener un código limpio y extensible. Además, el repositorio cubre patrones de programación concurrente, ofreciendo ejemplos de gestión de grupos de subprocesos y técnicas de sincronización para manejar tareas que consumen muchos recursos. La colección incluye una amplia gama de materiales educativos, desde análisis de complejidad y plantillas de resolución de problemas hasta implementaciones específicas para recorrido de grafos, programación dinámica y consultas de rango. Estos recursos están organizados para ayudar tanto en el aprendizaje de técnicas fundamentales como en la práctica para evaluaciones técnicas profesionales.
Implements multi-threaded logic and synchronization techniques to handle complex tasks and improve performance in resource-intensive applications.