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.

advanced

Actor Model Pattern

Isolate state in actors that communicate only via messages. Each actor processes one message at a...

intermediate

Async Generator Pattern

Stream data lazily with async generators. Yield values one at a time as they become available,...

intermediate

Distributed Lock Pattern

Coordinate mutually exclusive access to shared resources across distributed nodes using a...

advanced

Lock-Free Queue Pattern

Build high-throughput queues using atomic operations instead of locks. Multiple threads can enqueue...

intermediate

Priority Queue Pattern

Process tasks based on priority rather than arrival order, ensuring high-priority work gets...

intermediate

Producer-Consumer Pattern

Decouple production and consumption with a shared queue. Producers generate items at their own...

advanced

Reactive Streams Pattern

Process asynchronous data streams with backpressure. Subscribers request N items at a time,...

intermediate

Thread Pool Pattern

Reuse a fixed set of threads for short-lived tasks instead of creating a new thread per task....

intermediate

Bulkhead Pattern: Isolate Resources to Limit Blast Radius

How to isolate resources per service to limit blast radius. Covers thread pool isolation,...

advanced

Async Task Cancellation Runbook

Runbook for safely cancelling long-running async tasks in Python, JavaScript, Go, and Java:...

async cancellation concurrency timeout
advanced

Race Condition Debugging Checklist

Checklist for identifying and fixing race conditions in concurrent code: symptom identification,...

intermediate

Thread Pool Sizing Template

Template for documenting thread pool configuration per service: pool type selection, sizing...

advanced

Complete Guide to Go Concurrency

Master Go concurrency in production. Covers goroutines, channels, context, select, sync primitives,...

advanced

Complete Guide to Java Concurrency

Master Java concurrency in production. Covers threads, locks, CompletableFuture, virtual threads,...

advanced

Complete Guide to Python Asyncio

Master asynchronous Python programming with asyncio. Covers coroutines, tasks, event loops,...

advanced

Complete Guide to Python Asyncio in Production

Run Python asyncio in production with confidence. Covers event loops, task management, debugging,...

advanced

Concurrency Patterns Guide

A guide to common concurrency patterns and what works for writing safe, efficient concurrent code.

No results found.