死锁是并发控制里最经典、也最容易在面试中被单独追问的一题。它和前面学过的:
- 锁
- 信号量
- 同步与互斥
- 哲学家就餐
都是连在一起的。
最核心的一句话是:
死锁是多个线程或进程因为争夺资源而互相等待,导致谁都无法继续执行的状态。
一、什么是死锁
死锁可以理解成一种“大家都卡住了,而且谁都没法主动往前走”的状态。
最典型的例子是:
- 线程 A 先拿到锁 1,再去申请锁 2
- 线程 B 先拿到锁 2,再去申请锁 1
2026/4/1...大约 7 分钟
死锁是并发控制里最经典、也最容易在面试中被单独追问的一题。它和前面学过的:
都是连在一起的。
最核心的一句话是:
死锁是多个线程或进程因为争夺资源而互相等待,导致谁都无法继续执行的状态。
死锁可以理解成一种“大家都卡住了,而且谁都没法主动往前走”的状态。
最典型的例子是: