首页优化 正文

什么是死锁?

2024-04-30 7 0条评论

  所谓死锁指的是两个或者两个以上的进程在执行过程中,因竞争资源或者彼此通信造成的阻塞,如果没有外力作用,它们是无法推进下去的,此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。遇到这种情况,解决方法如下:

  1、死锁预防

  这是一种较简单和直观的事先预防的方法。方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或者几个,来预防发生死锁。预防死锁是一种较易实现的方法,已被广泛使用。但是由于所施加的限制条件往往太严格,可能会导致系统资源利用率和系统吞吐量降低。

  2、死锁避免

  系统对进程发出的每一个系统能够满足的资源申请进行动态检查,并根据检查结果决定是否分配资源;如果分配后系统可能发生死锁,则不予分配,否则予以分配。这是一种保证系统不进入死锁状态的动态策略。

  3、死锁检测和解除。

  先检测:这种方法并不须事先采取任何限制性措施,也不必检查系统是否已经进入不安全区,此方法允许系统在运行过程中发生死锁。但可通过系统所设置的检测机构,及时地检测出死锁的发生,并精确地确定与死锁有关的进程和资源。检测方法包括定时检测、效率低时检测、进程等待时检测等。然后解除死锁:采取适当措施,从系统中将已发生的死锁清除掉。

  以上就是什么是死锁?的相关内容。

文章版权及转载声明

本文作者:admin 网址:http://news.edns.com/post/7668.html 发布于 2024-04-30
文章转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码