Concurrency terms
Doing many things at once — safely, correctly, efficiently
Writing code that does multiple things at once — correctly — is one of the hardest problems in software engineering. This category covers threads, processes, async/await, event loops, locks, race conditions, deadlocks, and the concurrency models used in modern languages and runtimes. Getting concurrency wrong is subtle; these terms help you get it right.
🤖 AI Guestbook — Concurrency educational data only
|
|
Last 30 days
Agents 3
Amazonbot 236Perplexity 215Unknown AI 87Google 75Ahrefs 62ChatGPT 50Meta AI 36SEMrush 13Majestic 5Qwen 1
Most referenced — Concurrency
How they use it
crawler 723
crawler_json 29
pre-tracking 28
Category total780 pings
Terms pinged31 / 31
Distinct agents9
Mutex vs Semaphore PHP 7.0+
A mutex allows only one thread to access a resource at a time — a semaphore controls access to a pool of N identical resources.
CWE-362
1mo ago
concurrency advanced
Actor Model
The Actor Model treats everything as an actor — isolated units that communicate only by message passing, never sharing state — eliminating race conditions by design.
2mo ago
concurrency advanced
Atomic Operations
An atomic operation completes entirely or not at all — no intermediate state is visible to other threads. Atomic ops are the building blocks of lock-free concurrency.
2mo ago
concurrency intermediate
Atomic Operations
Atomic operations complete indivisibly — no other thread can observe an intermediate state. The foundation for lock-free concurrency and database counters.
2mo ago
concurrency intermediate
Compare-And-Swap (CAS)
CAS atomically compares a memory location to an expected value and only swaps it if equal — the foundation of lock-free algorithms and optimistic concurrency control.
2mo ago
concurrency advanced
Concurrency vs Parallelism
Concurrency is about dealing with multiple tasks at once (structuring); parallelism is actually executing multiple tasks simultaneously (hardware). You can have one without the other.
2mo ago
concurrency beginner
Database Connection Pooling
Connection pooling reuses a fixed set of database connections across requests — eliminating the 50–200ms connection overhead on every request and limiting DB connection count.
2mo ago
concurrency intermediate
Deadlock
A deadlock occurs when two or more processes each hold a resource the other needs — both wait forever. Prevention requires consistent lock ordering or timeouts.
2mo ago
concurrency intermediate
Event-Driven Concurrency
Event-driven concurrency uses a single-threaded event loop to handle many concurrent I/O operations — no threads, no locks, but requires non-blocking code throughout.
2mo ago
concurrency intermediate
Goroutine-Style Concurrency
Goroutines (Go) and similar lightweight green threads — coroutines, fibers — enable thousands of concurrent tasks with minimal memory, multiplexed onto OS threads by a runtime scheduler.
2mo ago
concurrency intermediate
Lock-Free Programming
Lock-free algorithms guarantee system-wide progress without mutexes — using atomic CPU instructions (CAS) so at least one thread always makes forward progress even if others are delayed.
2mo ago
concurrency advanced
Memory Barriers & Visibility
Memory barriers (fences) force the CPU and compiler to complete memory operations in order — ensuring changes made by one thread are visible to others at the right time.
2mo ago
concurrency advanced
Mutex & Locking
A mutex (mutual exclusion lock) ensures only one thread/process can access a critical section at a time — the fundamental primitive for preventing race conditions.
2mo ago
concurrency intermediate
Optimistic Locking
Optimistic locking detects conflicts at commit time using a version number — no locks held during the transaction, high throughput for low-contention scenarios.
2mo ago
concurrency intermediate
Pessimistic Locking
Pessimistic locking acquires an exclusive lock immediately on read — preventing any concurrent modification. Right for high-contention scenarios but reduces throughput.
2mo ago
concurrency intermediate
Producer-Consumer Pattern
Producer-Consumer decouples work generation from processing — producers add to a queue, consumers process independently, buffering load spikes and enabling parallel throughput.
2mo ago
concurrency intermediate
Promises & Futures PHP 7.0+
Abstractions representing the eventual result of an async operation — a Promise or Future is a placeholder for a value not yet available, enabling non-blocking code composition without nested callbacks.
2mo ago
concurrency intermediate
Race Condition
A race condition occurs when the outcome of a program depends on the relative timing of concurrent operations — two threads reading and writing shared state without coordination.
2mo ago
concurrency intermediate
Semaphore
A semaphore is a generalised mutex that allows N concurrent accesses — a counting semaphore with value N lets N threads proceed, blocking the (N+1)th.
2mo ago
concurrency intermediate
Starvation & Livelock
Starvation: a thread never gets resources because others monopolise them. Livelock: threads actively respond to each other but make no progress — like two people stepping aside for each other indefinitely.
2mo ago
concurrency intermediate