linux--死锁(产生死锁的原因、条件和避免方法)

本文详细介绍了Linux环境下死锁的概念、产生原因,包括竞争不可抢占资源、竞争可消耗资源和进程推进顺序不当,并列举了具体的例子。同时,文章阐述了产生死锁的四个必要条件:互斥、请求和保持、不可抢占和循环等待。最后,讨论了避免、预防和解决死锁的策略,如有序分配资源、银行家算法、预防和解决死锁的四种方法。
摘要由CSDN通过智能技术生成

一、死锁的概念:

      如果一组进程(或线程)中的每一个进程(或线程)都在等待仅由该组进程中的其他进程(或线程)才能引发的事件,那么该组进程(或线程)是死锁的(Deadlock)。

二、产生死锁的原因 :
(一)
竞争不可抢占资源引起死锁
如:共享文件时引起死锁
系统中拥有两个进程P1和P2,它们都准备写两个文件F1和F2。而这两者都属于可重用和不可抢占性资源。如果进程P1在打开F1的同时,P2进程打开F2文件,当P1想打开F2时由于F2已结被占用而阻塞,当P2想打开1时由于F1已结被占用而阻塞,此时就会无线等待下去,形成死锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值