首页 > 试题广场 >

如何在多线程中避免发生死锁?

[不定项选择题]
如何在多线程中避免发生死锁?
  • 允许进程同时访问某些资源。
  • 允许进程强行从占有者那里夺取某些资源。
  • 进程在运行前一次性地向系统申请它所需要的全部资源。
  • 把资源事先分类编号,按号分配,使进程在申请,占用资源时不会形成环路。
多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。
发表于 2019-03-09 17:04:41 回复(0)
形成死锁的四个条件
1.任何时刻访问资源的进程数目是唯一的
2.进程无法从获取资源的进程中剥夺资源
3.保持拥有当前资源和不断请求新的资源(若一次申请完全,则不会产生死锁)
4.环路等待
避免发生死锁即破环其中的一个条件即可
发表于 2019-02-16 20:04:27 回复(0)