当前位置:首页 > 体育

死锁 一分钟告诉你:Mysql数据库死锁原因及解决、避免办法

使用数据库时偶尔会出现死锁。对于我们的业务系统来说,死锁的直接结果就是系统卡住了,客户在找东西,所以我们在尽力消除数据库的死锁。让我们来看看僵局的条件以及如何处理与边肖的僵局。

​​

​​

僵局的条件

互斥:资源不能共享,只能由一个进程使用。

保持和等待条件:当一个进程已经获得了一些资源,但是被请求其他资源阻塞时,它将保持获得的资源。

没有先占权:一些系统资源是不可先占的。某个进程获得了这样的资源后,系统不能强行收回,只能在用完时由进程自己释放。

循环等待条件:几个进程形成循环链,每个进程占用对方申请的下一个资源。

死锁处理策略

1.忽略这个问题。例如鸵鸟算法。

2.检测死锁并恢复。

3.小心地动态分配资源以避免死锁。

4.可以通过打破四个必要条件中的一个来防止死锁。

>。>。>。>。

鸵鸟算法:

该算法可以应用于死锁很少发生的情况。为什么叫鸵鸟算法?因为据说鸵鸟看到危险就把头埋在地下。可能鸵鸟看不到就不觉得有危险。有点像偷铃铛。

>。>。>。>。

银行家算法:

所谓庄家算法,就是在分配资源之前看清楚,资源的分配是否会导致系统死锁。如果发生死锁,则不分配,否则分配。

根据银行家算法,当一个进程请求资源时,系统将根据以下原则分配系统资源:

(1)当一个过程对资源的最大需求不超过系统中的资源数量时,该过程可以被接受。

(2)当请求总数不能超过最大需求时,流程可以分阶段请求资源。

(3)当系统现有资源无法满足流程所需的资源数量时,对流程的请求可以延迟,但流程总能在有限的时间内获得资源。

(4)当系统现有资源能够满足流程所需资源数量时,需要测试系统现有资源是否能够满足流程所需资源的最大数量,如果能够,则按照当前申请量进行资源分配,否则,延迟分配。

​​

死锁解决策略

处理死锁的策略主要包括:

(1)死锁预防:可以通过打破导致死锁的任何必要条件来预防死锁。比如要求用户在申请资源时一次性申请所有需要的资源,破坏了持有和等待条件;只有在前一层的资源获得之后,资源才能被应用于下一层资源,这破坏了循环的等待条件。预防通常会降低系统的效率。

(2)避免死锁:避免是指进程每次申请资源时都要判断这些操作是否安全,例如使用银行家算法。死锁避免算法的执行会增加系统的开销。

(3)死锁检测:死锁预防和避免是预措施,而死锁检测是判断系统是否处于死锁状态,如果是,执行死锁取消策略。

(4)死锁取消:这个和死锁检测结合使用,使用的方式是剥夺。也就是说,某个进程所拥有的资源被强制回收,分配给其他进程。

避免死锁:

死锁的防止是通过打破条件来防止死锁,但是这种方法破坏了系统的并行性和并发性。

死锁的前三个条件是死锁的必要条件,也就是死锁的必要条件,而不是这三个条件的存在,只要逻辑上避免第四个条件,就可以避免死锁。

为避免死锁,允许前三个条件存在,但采用合理的资源分配算法,保证永远不会形成循环等待的封闭进程链,从而避免死锁。此方法支持多个进程的并行执行。为了避免死锁,系统动态地确定是否为请求的进程分配资源。方法如下:

1.如果一个进程当前请求的资源会导致死锁,系统拒绝启动该进程;

2.如果一个资源的分配会导致下一步死锁,系统会拒绝这个分配;

显然,为了避免死锁,我们必须提前知道系统拥有的资源数量及其属性

​​

总结:

遇到问题,不要猜!!!亲手复现下问题,然后再来分析。不要忽略上下文!!!理论知识再充足,关键时刻不一定想的起来!!!坑都是自己埋的!!!

1.《死锁 一分钟告诉你:Mysql数据库死锁原因及解决、避免办法》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《死锁 一分钟告诉你:Mysql数据库死锁原因及解决、避免办法》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/1557914.html

上一篇

乐可是啥梗 “乐极升杯”是什么梗

下一篇

立flag是什么意思 “立flag”是什么意思

双硬盘设置 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!

  • 双硬盘设置 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!
  • 双硬盘设置 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!
  • 双硬盘设置 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!

如何安装双操作系统 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!

  • 如何安装双操作系统 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!
  • 如何安装双操作系统 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!
  • 如何安装双操作系统 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!

固态硬盘装系统 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!

  • 固态硬盘装系统 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!
  • 固态硬盘装系统 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!
  • 固态硬盘装系统 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!

固态硬盘安装系统教程 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!

  • 固态硬盘安装系统教程 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!
  • 固态硬盘安装系统教程 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!
  • 固态硬盘安装系统教程 双硬盘电脑要如何分区做系统?详细教程在这里,也就那么回事!

污泥碳化 污泥改性碳化及资源利用技术简介

微信号:cnww1985 投稿咨询:022-27835707 广告咨询:022-27835639 问题咨询:022-27835231 提交邮件:cnwater@vip.163.com...

北京地铁魔窗系统 北京地铁魔窗系统 该目前仅在6号线安装

北京地铁的魔窗系统是什么?3月31日,北京地铁“魔窗”的一段视频走红。根据网友拍摄的视频,在列车内直通通道上方、车门上方、中间窗口安装了LED显示屏。列车启动后,“魔窗系统”会显示列车当前位置、网络图、前方车站三维示意...

热水循环回水管安装图 热水循环系统要不要装回水管?

热水循环回水管安装图 热水循环系统要不要装回水管?

众所周知,生活热水循环系统分为回水管和回水管。很多人不明白这一点,以为有没有回水管效果都一样。所以边肖今天会告诉你,回流管和之间的差别很大。 有回流管的优点 工作模式选择。我们家的热水循环系统有回水管,所以以后使用循环...

台风蔷薇 2020年第5号台风蔷薇径实时发布系统最新消息

热带风暴玫瑰05号,2020年,8月10日14: 00,风速23 m/s,移动速度58 km/h,东经128.60,北纬34.60,气压992百帕斯卡,中心附近最大风力9级。今天上午8点,南海热带低压中心位于福建省厦门...