首页 > 试题广场 >

什么情况下会发生死锁,解决策略有哪些?

[问答题]
请谈一谈,什么情况下会发生死锁?解决死锁的策略有哪些?
死锁发生的四个必要条件是: 1.资源互斥使用。 2.多个进程保持一定的资源,但又请求新的资源。 3.资源不可被剥夺。 4.多个进程循环等待。 一般死锁的应对策略有: 1.死锁预防。如进程需要的所有资源,在一开始就全部申请好得到之后再开始执行。 2.死锁避免。如进程每次申请申请资源的时候,根据一定的算法,去看该请求可能不可能造成死锁,如果可能,就不给它分配该资源。 3.死锁处理。破坏四个必要条件的其中一个,比如kill掉一个进程。 4.死锁忽略。不管死锁,由用户自行处理,比如重启电脑。一般的系统其实都采取这种策略。
发表于 2019-03-29 00:31:26 回复(0)
死锁产生的原因:①多个进程竞争不可剥夺资源②进程推进顺序不当。
解决死锁的方法:①预防死锁,即破坏死锁的四个必要条件,不过互斥条件一般不破坏②死锁避免,采用银行家算法③死锁的检测及解除
发表于 2020-04-30 09:55:08 回复(0)
想到了数据库的”死锁“
发表于 2021-08-26 11:52:28 回复(0)
线程之前抢占资源,访问同一个资源  解决策略是加同步锁
发表于 2020-10-27 13:56:29 回复(0)
答的都是什么鬼
发表于 2020-08-19 14:26:57 回复(0)
死锁发生的四个必要条件是: 1.资源互斥使用。 2.多个进程保持一定的资源,但又请求新的资源。 3.资源不可被剥夺。 4.多个进程循环等待。 一般死锁的应对策略有: 1.死锁预防。如进程需要的所有资源,在一开始就全部申请好得到之后再开始执行。 2.死锁避免。如进程每次申请申请资源的时候,根据一定的算法,去看该请求可能不可能造成死锁,如果可能,就不给它分配该资源。 3.死锁处理。破坏四个必要条件的其中一个,比如kill掉一个进程。 4.死锁忽略。不管死锁,由用户自行处理,比如重启电脑。一般的系统其实都采取这种策略。
发表于 2019-04-26 19:06:51 回复(0)
一组进程中的每个进程都在等在由其它进程才能引发的事件
发表于 2019-01-11 22:27:33 回复(0)