race condition
Sequence-dependent malfunction
A race condition is a software bug where a program's behavior depends on the unpredictable timing of events—typically when multiple processes or threads access shared data simultaneously.
The outcome varies based on which operation completes first: The crash was caused by a race condition in the database code.
The term comes from the image of processes "racing" each other, with results depending on which wins.
Crawling creature or defect
- deadlockMutual blocking, no progress
- synchronizationAligning timing across systems
- semaphoreFlag-based signaling system
- critical sectionShared-resource access code
atomicity · interleaving · concurrency · parallelism · starvation · non-blocking · non-determinism · context switch
Aligning timing across systems
- millisecondsThousandths of a second
- sequenceOrdered succession of elements
- intervalDuration between two points
- durationLength of existence
instant · order of operations · latency · simultaneity · timestamp · execution order · scheduling · window
bug
Crawling creature or defect
- deadlockMutual blocking, no progress
- synchronizationAligning timing across systems
- semaphoreFlag-based signaling system
critical section · atomicity · interleaving · concurrency · parallelism · starvation · non-blocking · non-determinism · context switch · preemption
synchronization
Aligning timing across systems
- millisecondsThousandths of a second
- sequenceOrdered succession of elements
- intervalDuration between two points
duration · instant · order of operations · latency · simultaneity · timestamp · execution order · scheduling · window · overlap
sprint
Brief maximum-speed effort
cycling · marathon · triathlon · running · speedway · derby · steeplechase · regatta · biathlon · decathlon