死锁(Deadlock) 是计算机科学(尤其是操作系统、数据库、并发编程)中的一个概念,指的是:两个或多个进程(或线程)在执行过程中,因为互相持有对方所需要的资源,并且都在等待对方释放资源,从而导致所有相关进程都无法继续执行的状态。
简单来说,就是“你等我放手,我等你放手,结果谁都动不了”。
两个人面对面过独木桥:
这就是死锁。
假设有两个线程 T1 和 T2,两把锁 L1 和 L2:
执行过程可能是:
→ 双方永久等待,发生死锁。
必须同时满足以下四点才会死锁:
只要破坏其中任意一个条件,死锁就可以避免或解除。
常见方法包括:
如果你是在 数据库、Java、操作系统考试或面试 的语境下问的,我也可以按对应场景给你讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。