美文网首页
死锁相关

死锁相关

作者: 千夜零一 | 来源:发表于2021-08-04 13:49 被阅读0次

1、产生死锁的必要条件:

缺一不可

  • 互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。
  • 请求和保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放。
  • 不剥夺条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。
  • 环路等待条件:在发生死锁时,必然存在一个进程--资源的环形链。

2、如何避免死锁?

打破其中某一条件

  • 资源一次性分配:一次性分配所有资源,这样就不会再有请求了:(破坏请求条件)
  • 只要有一个资源得不到分配,也不给这个进程分配其他的资源:(破坏请保持条件)
  • 可剥夺资源:即当某进程获得了部分资源,但得不到其它资源,则释放已占有的资源(破坏不可剥夺条件)
  • 资源有序分配法:系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求资源,释放则相反(破坏环路等待条件)

相关文章

  • 死锁相关

    1、产生死锁的必要条件: 缺一不可 互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程...

  • ORA-00060死锁案例

    以下只是测试简单的几个死锁案例,发现死锁不一定是数据产生,还有索引产生的死锁。延伸出来相关的死锁案例还是有很多的 ...

  • 漫谈死锁

    一、前言 每个MySQL DBA和开发大概率都会遇到死锁问题,本文是自己对死锁相关知识总结,介绍死锁是什么,MyS...

  • 面试官:连多线程问题你都一问三不知,还要我怎么“放水”?

    面试官:问你几个多线程相关的问题吧,说一下导致线程死锁的原因,怎么解除线程死锁? 程序员阿里:这个...死锁......

  • gcd 死锁相关

    1、出现死锁的情况:使用sync函数往当前串行队列中添加任务,会卡住当前的串行队列(产生死锁); 2、如下几种代码...

  • 死锁的产生以及解决死锁的办法

    前言:继续学习操作系统相关知识,做一个关于 Deadlock 的总结 死锁是什么 用通俗的话说:死锁就是一组 进程...

  • 第30节:死锁漫谈

    (本文由杨奇龙编写) 一、前言 每个MySQL DBA和开发大概率都会遇到死锁问题,本文是自己对死锁相关知识总结,...

  • JAVA知识梳理

    多线程相关 死锁 死锁四个条件: 互斥条件临界资源只能被一个线程拥有 占有且等待线程/进程拥有补发临界资源,但同时...

  • 苏宁-大数据开发岗技术面

    1.介绍项目,重点介绍与大数据相关的项目、个人工作。 2.讲讲多线程。我说了死锁产生原因,问如何解决死锁等等。。。...

  • 2019 iOS面试题-----进程、线程、多进程、多线程、任务

    2019 iOS面试题-----多线程相关之GCD、死锁、dispatch_barrier_async、dispa...

网友评论

      本文标题:死锁相关

      本文链接:https://www.haomeiwen.com/subject/dlduvltx.html