3 repositorios
Systems for orchestrating multiple types of locks, including reentrant and read-write locks, for shared resource access.
Distinct from Reentrant Locks: Broader than a single reentrant lock; covers the management of various locking strategies.
Explore 3 awesome GitHub repositories matching operating systems & systems programming · Concurrent Lock Managers. Refine with filters or upvote what's useful.
Esta biblioteca de concurrencia de Java proporciona un conjunto de herramientas para gestionar la ejecución multihilo, la sincronización y la consistencia de la memoria. Sirve como un framework integral para implementar la ejecución concurrente a través de atómicos sin bloqueo (lock-free), colecciones seguras para hilos, primitivas de coordinación de tareas y grupos de trabajadores (worker pools). El proyecto incluye un kit de herramientas de sincronización de hilos dedicado que cuenta con latches, barreras y semáforos para coordinar el tiempo y el orden de las tareas concurrentes. También proporciona una suite de colecciones concurrentes de mapas, colas y listas que permiten compartir datos sin bloqueo manual, junto con un framework de operaciones atómicas para actualizaciones sin bloqueo a tipos y referencias básicos. La biblioteca cubre áreas de capacidad amplias, incluyendo la gestión de grupos de hilos para optimizar la utilización de recursos, el análisis del modelo de memoria para garantizar la visibilidad de los datos y varios mecanismos de gestión de bloqueos para evitar condiciones de carrera. Estas herramientas apoyan colectivamente el desarrollo de aplicaciones multihilo que mantienen transiciones de estado consistentes a través de la memoria compartida.
Provides a system for controlling shared resource access through reentrant locks, read-write locks, and custom synchronization.
Este proyecto es un repositorio instructivo y recurso de aprendizaje que proporciona una colección completa de notas de estudio, guías de programación y ejemplos de código ejecutables. Sirve como guía para el desarrollo web y de Java SE, presentando una biblioteca de muestras de código que demuestran algoritmos comunes e implementaciones técnicas. El repositorio se centra en el análisis del núcleo y el tiempo de ejecución del lenguaje, con tutoriales detallados sobre multihilo y concurrencia. Proporciona implementaciones prácticas de arquitectura de software y patrones de diseño, como los patrones singleton y strategy, así como exploraciones de la Java Virtual Machine y el bytecode. El proyecto cubre una amplia gama de capacidades, incluyendo fundamentos del lenguaje como genéricos y anotaciones, conceptos básicos de desarrollo web que involucran el manejo de solicitudes HTTP y gestión de sesiones, y primitivas de concurrencia para el ciclo de vida de hilos y sincronización de recursos. También incluye utilidades para seguridad, procesamiento de datos y generación dinámica de páginas.
Orchestrates various locking strategies, including reentrant and read-write locks, to control shared resource access.
Esta es una librería de PHP que proporciona interfaces estandarizadas para el almacenamiento en caché de datos a través de las especificaciones PSR-6 y PSR-16. Funciona como un gestor de pool de caché y adaptador de caché distribuido, permitiendo a las aplicaciones organizar pares de clave-valor en repositorios y espacios de nombres lógicos. El proyecto incluye una herramienta dedicada de prevención de estampidas de caché (cache stampede) que protege a los sistemas de picos de CPU durante la expiración de valores. Esto se logra mediante mecanismos de bloqueo para solicitudes concurrentes y expiración temprana probabilística. La librería admite la serialización de objetos con cifrado y compresión opcionales para traducir datos complejos a formatos almacenables. Proporciona una capa de abstracción de almacenamiento multi-backend, permitiendo la persistencia de datos a través de memoria, sistemas de archivos y bases de datos distribuidas. Otras capacidades incluyen la recuperación de caché basada en callbacks y espacios de nombres basados en claves para la segregación de datos.
Prevents multiple processes from recomputing the same expired value by locking concurrent requests during the cache miss period.