What are Wait-Die and Wound-Wait?
"Wait-Die" and "Wound-Wait" schemes in DBMS in simple terms

Let’s understand “Wait-Die” and “Wound-Wait” schemes in DBMS in simple terms, along with examples.
What are Wait-Die and Wound-Wait?
These are deadlock prevention techniques used in database transaction management. They decide how to handle a situation where two transactions want to lock the same resource, potentially causing a deadlock.
The two schemes use the timestamp of a transaction to make decisions. The timestamp (TS) is a unique number that represents the time when the transaction started.
- Older transaction: The one with the smaller timestamp (TS).
- Younger transaction: The one with the larger timestamp (TS).
1. Wait-Die Scheme
- Rule:
- If an older transaction requests a resource held by a younger transaction, it is allowed to wait.
- If a younger transaction requests a resource held by an older transaction, it is aborted (dies) and restarted with the same timestamp.
Purpose: Prevents deadlock by ensuring that younger transactions are forced to die when they conflict with older ones.
Example (Wait-Die):
- T1 (TS = 10) (older) and T2 (TS = 20) (younger):
- T1 wants a lock held by T2:
- Since T1 is older, T1 waits.
- T2 wants a lock held by T1:
- Since T2 is younger, T2 dies (aborted) and is restarted.
- T1 wants a lock held by T2:
2. Wound-Wait Scheme
- Rule:
- If an older transaction requests a resource held by a younger transaction, it forces the younger transaction to release the resource (wound). The younger transaction is aborted.
- If a younger transaction requests a resource held by an older transaction, it is allowed to wait.
Purpose: Prevents deadlock by ensuring that older transactions take precedence over younger ones.
Example (Wound-Wait):
- T1 (TS = 10) (older) and T2 (TS = 20) (younger):
- T1 wants a lock held by T2:
- Since T1 is older, T2 is wounded (aborted) and restarted.
- T2 wants a lock held by T1:
- Since T2 is younger, T2 waits.
- T1 wants a lock held by T2:
Key Differences Between Wait-Die and Wound-Wait:
Aspect | Wait-Die | Wound-Wait |
---|---|---|
Older transaction | Waits for the resource. | Forces younger transaction to abort. |
Younger transaction | Aborts (dies) and restarts. | Waits for the resource. |
Strategy | Non-preemptive (older waits). | Preemptive (older wounds younger). |
Abortion direction | Younger transaction dies. | Younger transaction is wounded. |
Simplified Example (Lock Conflict):
Transaction | Action | Result in Wait-Die | Result in Wound-Wait |
---|---|---|---|
T1 (older) | Requests lock held by T2 (younger) | T1 waits. | T2 aborts (wounded). |
T2 (younger) | Requests lock held by T1 (older) | T2 aborts (dies). | T2 waits. |
Conclusion:
Both Wait-Die and Wound-Wait are effective in preventing deadlocks by using timestamps.
- Wait-Die is more conservative (younger transactions die often).
- Wound-Wait is more aggressive (older transactions wound younger ones).