Một deadlock (bế tắc) là trạng thái mà hai hay nhiều thread mỗi cái đều bị chặn mãi mãi, mỗi cái chờ một tài nguyên do cái khác đang giữ. Không có gì tiến triển được.
Bốn điều kiện cần (Coffman)
Cả bốn phải cùng thỏa mãn một lúc — loại bỏ bất kỳ điều kiện nào là deadlock không thể xảy ra:
1. Mutual exclusion → a resource is held exclusively (only one holder at a time)
2. Hold and wait → a thread holds one resource while waiting to acquire another
3. No preemption → resources can't be forcibly taken; only released voluntarily
4. Circular wait → a cycle: T1 waits for R2 (held by T2), T2 waits for R1 (held by T1)
