什么是死锁?它产生的必要的条件是什么?

来源:互联网 发布:美国mobi域名2017年 编辑:程序博客网 时间:2024/05/16 18:20

死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。死锁产生有四个必要的条件:互斥条件,不可剥夺条件,部分分配,循环等待,这四个条件不是充分条件,即使这四个条件同时存在,系统也不一定发生死锁,但系统一但发生死锁,这四个条件一定是满足的。

死锁产生的必要条件是:
① 互斥条件:系统中存在一个资源一次只能被一个进程所使用;
  ② 非抢占条件:系统中存在一个资源仅能被占有它的进程所释放,而不能被别的进程强行抢占。
  ③ 占有并等待条件:系统中存在一个进程已占有了分给它的资源,但仍然等待其他资源。
  ④ 循环等待条件:在系统中存在一个由若干进程形成的环形请求链,其中的每一个进程均占有若干种资源中的某一种,同时每个进程还要求(链上)下一个进程所占有的资源。

原创粉丝点击