网站首页
手机版

死锁的原因及解决方法(oracle死锁的原因及解决方法)

更新时间:2023-01-24 16:20:21作者:未知

死锁的原因及解决方法(oracle死锁的原因及解决方法)

1、 死锁是由于两个或以上的线程互相持有对方需要的资源,导致这些线程处于等待状态,无法执行。

2、产生死锁的四个必要条件互斥性:线程对资源的占有是排他性的,一个资源只能被一个线程占有,直到释放。请求和保持条件:一个线程对请求被占有资源发生阻塞时,对已经获得的资源不释放。不剥夺:一个线程在释放资源之前,其他的线程无法剥夺占用。循环等待:发生死锁时,线程进入死循环,永久阻塞。

3、产生死锁的原因竞争不可抢占性资源,p1已经打开F1,想去打开F2,p2已经打开F2,想去打开F1,但是F1和F2都是不可抢占的,这是发生死锁。

4、竞争可消耗资源引起死锁,进程间通信,如果顺序不当,会产生死锁,比如p1发消息m1给p2,p1接收p3的消息m3,p2接收p1的m1,发m2给p3,p3,以此类推,如果进程之间是先发信息的那么可以完成通信,但是如果是先接收信息就会产生死锁。

5、进程推进顺序不当,进程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生进程死锁。

6、避免死锁的方法破坏“请求和保持”条件想办法,让进程不要那么贪心,自己已经有了资源就不要去竞争那些不可抢占的资源。比如,让进程在申请资源时,一次性申请所有需要用到的资源,不要一次一次来申请,当申请的资源有一些没空,那就让线程等待。不过这个方法比较浪费资源,进程可能经常处于饥饿状态。还有一种方法是,要求进程在申请资源前,要释放自己拥有的资源。

7、破坏“不可抢占”条件,允许进程进行抢占,方法一:如果去抢资源,被拒绝,就释放自己的资源。方法二:操作系统允许抢,只要你优先级大,可以抢到。

8、破坏“循环等待”条件将系统中的所有资源统一编号,进程可在任何时刻提出资源申请,但所有申请必须按照资源的编号顺序(升序)提出

9、死锁的检测每个进程、每个资源制定唯一编号。设定一张资源分配表,记录各进程与占用资源之间的关系。设置一张进程等待表,记录各进程与要申请资源之间的关系。

10、死锁的解除抢占资源,从一个或多个进程中抢占足够数量的资源,分配给死锁进程,以解除死锁状态。

11、终止(或撤销)进程,终止(或撤销)系统中的一个或多个死锁进程,直至打破循环环路,使系统从死锁状态解脱出来.

本文标签: 死锁的原因及解决方法  

为您推荐

淘宝钻石等级怎么看 淘宝钻石等级怎么看买家

1、在手机桌面上找到淘宝APP,然后点击进入淘宝首页。2、在淘宝首页面找到我的淘宝选项,在右下角,点击进入我的淘宝页面。3、在我的淘宝页面中找到必备工具,点击必备工具右侧的查看更多工具。4、进入查看更多工具之后,就可以看

2023-04-12 16:35

护腰带如何选购 护腰带买什么样的好

1、明确保护目的是腰椎还是髋部,前者需要购买高位护腰,后者需要购买低位护腰。2、是否具备矫形功能,对于腰部不适的患者,往往需要在护腰后加入钢条或树脂板条。3、支撑力度(硬度)是否可调。4、材质是否轻便纤薄。5、护腰外部轮廓的线条设计得是否合理。

2023-04-12 16:32

为什么抖音打不开(为什么抖音打不开闪退)

1、网络连接问题:连接其他网络或重启您的路由器和设备善。2、服务器维护或故障:等待一段时间或联系抖音客服。3、应用程序更新问题:更新抖音应用程序。4、设备问题:尝试重启设备或清除设备缓存。5、应用程序设置问题:检查应用程序设置并进行必要的更改。6、地区限制问题:使用虚拟私人网络(VPN)。7、应用程序权限问题。8、安全软件拦截。9、防火墙设置问题。10、账户问题。

2023-04-12 16:32

iPhone15Pro或取消固态按键设计

iPhone15Pro或取消固态按键设计 改回实体按键

2023-04-12 16:20

铭凡PB7迷你主机发布(铭凡科技有限公司)

铭凡PB7迷你主机发布 搭载酷睿i7-13700H处理器

2023-04-12 16:20

微信零钱不能转账怎么回事 微信零钱不能转账怎么回事超过20万

微信零钱不能转账怎么回事:1、没有绑定银行卡:微信号如果没有绑定银行卡,是不可以使用转账功能的。可在钱包中,添加自己名下的银行卡即可使用转账功能。2、微信版本过低:不管是自己的微信版本过低,还是对方的微信版本过低,都会造

2023-04-12 16:18