Etiqueta: concurrency
Explora 37 recursos prácticos de ingeniería de software etiquetados con "concurrency". Descubre recetas de código, patrones de diseño, plantillas de documentación y guías detalladas para ayudarte a construir, desplegar y mantener soluciones listas para producción con concurrency.
Concurrencia y Paralelismo
La concurrencia se trata de estructurar programas para que multiples tareas progresen, mientras que el paralelismo se trata de ejecutarlas simultaneamente. Ambos son esenciales para sistemas modernos multi-core y distribuidos.
Los recursos a continuacion cubren threads, async/await, actores, locks, colas, race conditions y backpressure. Cada guia explica como escribir codigo concurrente correcto, observable y libre de errores comunes.
Cada recurso incluye explicaciones claras, ejemplos de codigo y advertencias sobre errores comunes. Usa estos materiales para tomar decisiones informadas, evitar problemas en produccion y acelerar tu flujo de trabajo. Si estas empezando, lee primero los articulos marcados como principiante; si ya tienes experiencia, ve directo a los patrones avanzados y las guias de arquitectura.
Locking distribuido con Redis y Redlock
Implementa locks distribuidos con Redis para exclusion mutua entre procesos, usando SET NX con TTL...
Patrones Async con Promises, Futures y Coroutines
Cómo escribir código concurrente eficiente usando async/await, promises, futures y coroutines en...
Colecciones Thread-Safe: Blocking Queues y Concurrent Maps
Cómo compartir colecciones entre hilos de forma segura usando estructuras concurrentes: colas,...
Construir Pipelines Async con C# async/await y Task.Run
Construir pipelines async en C# usando async/await, Task.Run, Task.WhenAll, Task.WhenAny,...
Coordinar Tareas Concurrentes con Communicating
Cómo estructurar programas concurrentes usando channels, select statements y goroutines para...
Patrones Concurrentes con Go Goroutines y Channels
Construir sistemas concurrentes en Go usando goroutines, channels, select statements, worker pools,...
Componer Pipelines Asincronos con Java CompletableFuture
Construir pipelines async no bloqueantes en Java usando CompletableFuture con thenCompose,...
Escalar Aplicaciones Concurrentes con Java Virtual Threads
Escalar aplicaciones Java con virtual threads de Project Loom. Usar Thread.ofVirtual,...
Coordinar Acceso Compartido con Locks, Mutexes y Semáforos
Cómo prevenir condiciones de carrera en programas concurrentes usando mutexes, read-write locks,...
Haz Peticiones HTTP Concurrentes con Python y aiohttp
Obtén datos de múltiples APIs concurrentemente usando asyncio y aiohttp. Cubre connection pooling,...
Ejecutar Tareas Async Concurrentes con asyncio.gather y
Ejecutar multiples operaciones async concurrentemente en Python usando asyncio.gather,...
Limitar Llamadas API Concurrentes con asyncio.Semaphore
Usa asyncio.Semaphore en Python para acotar llamadas a API, consultas a base de datos y acceso a...
Paralelizar Trabajo CPU y I/O con ThreadPoolExecutor
Usar ThreadPoolExecutor de Python para operaciones I/O paralelas, recoleccion thread-safe de...
Construir Sistemas Async con Rust Tokio Runtime
Construir sistemas async en Rust usando el runtime Tokio con tasks, channels, select, primitivas de...
Gestionar Trabajo Concurrente con Thread Pools y Executors
Cómo gestionar worker threads eficientemente usando thread pools, executors y políticas de rechazo...
Prevencion de Race Conditions en Codigo Async de JavaScript
Identifica y corrige race conditions en JavaScript asincrono usando secuenciacion apropiada,...
Prevencion y Resolucion de Deadlocks en Transacciones SQL
Identifica patrones de deadlock en bases de datos SQL, aplica ordenamiento consistente de locks,...
Bloqueo optimista en bases de datos
Implementa bloqueo optimista con versionado para evitar actualizaciones perdidas. Ejemplos en SQL,...
Ejecutar Comandos Shell en Paralelo con Bash
Ejecuta múltiples comandos shell concurrentemente usando xargs, GNU parallel y background jobs.
Ejecución Paralela en Bash
Cómo ejecutar comandos de shell en paralelo con xargs, GNU parallel y trabajos en segundo plano de...