A situation where two or more threads are permanently blocked, each waiting for the other to release a resource, creating a circular dependency that prevents any progress. This results in a complete standstill of the affected processes.
Compound of 'dead' (Old English 'dead') and 'lock' (Old English 'loc'), originally describing mechanical locks that couldn't be opened. In computing, the term was adopted in the 1960s to describe situations where processes are 'locked' in a state where no progress is possible.
Deadlock is like two overly polite people approaching a narrow doorway, each insisting the other go first - they both stand there forever, blocking each other and making no progress. In programming, it's threads being too 'polite' about waiting for resources!
Complete word intelligence in one call. Free tier — 50 lookups/day.