concurrency
Practical resources about concurrency for software engineers.
37 results
Managing Parallel Execution
Modern hardware is parallel, but writing correct concurrent code remains one of the hardest problems in software engineering. Race conditions, deadlocks, and thread starvation can cause bugs that only appear under production load.
This collection covers async patterns, thread pools, locks and mutexes, concurrent data structures, and message-passing models like CSP. Each pattern includes common pitfalls and language-specific implementation advice.
Actor Model Pattern
Isolate state in actors that communicate only via messages. Each actor processes one message at a...
Async Generator Pattern
Stream data lazily with async generators. Yield values one at a time as they become available,...
Distributed Lock Pattern
Coordinate mutually exclusive access to shared resources across distributed nodes using a...
Lock-Free Queue Pattern
Build high-throughput queues using atomic operations instead of locks. Multiple threads can enqueue...
Priority Queue Pattern
Process tasks based on priority rather than arrival order, ensuring high-priority work gets...
Producer-Consumer Pattern
Decouple production and consumption with a shared queue. Producers generate items at their own...
Reactive Streams Pattern
Process asynchronous data streams with backpressure. Subscribers request N items at a time,...
Thread Pool Pattern
Reuse a fixed set of threads for short-lived tasks instead of creating a new thread per task....
Bulkhead Pattern: Isolate Resources to Limit Blast Radius
How to isolate resources per service to limit blast radius. Covers thread pool isolation,...
Async Task Cancellation Runbook
Runbook for safely cancelling long-running async tasks in Python, JavaScript, Go, and Java:...
Race Condition Debugging Checklist
Checklist for identifying and fixing race conditions in concurrent code: symptom identification,...
Thread Pool Sizing Template
Template for documenting thread pool configuration per service: pool type selection, sizing...
Complete Guide to Go Concurrency
Master Go concurrency in production. Covers goroutines, channels, context, select, sync primitives,...
Complete Guide to Java Concurrency
Master Java concurrency in production. Covers threads, locks, CompletableFuture, virtual threads,...
Complete Guide to Python Asyncio
Master asynchronous Python programming with asyncio. Covers coroutines, tasks, event loops,...
Complete Guide to Python Asyncio in Production
Run Python asyncio in production with confidence. Covers event loops, task management, debugging,...
Concurrency Patterns Guide
A guide to common concurrency patterns and what works for writing safe, efficient concurrent code.
No results found.