您的位置:首页 > 其它

死锁

2015-08-28 21:20 267 查看
   
所谓死锁: 是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

     死锁的条件
     互斥条件(Mutual exclusion)     :资源不能被共享,只能由一个进程使用。

     请求与保持条件(Hold and wait):进程已获得了一些资源,但因请求其它资源被阻塞时,对已获得的资源保持不放。

     不可抢占条件(No pre-emption)    :有些系统资源是不可抢占的,当某个进程已获得这种资源后,系统不能强行收回,只能由进程使用完时自己释放。

     循环等待条件(Circular wait)      :若干个进程形成环形链,每个都占用对方申请的下一个资源。


如何避免死锁

要避免死锁,必须事先知道系统拥有的资源数量及其属性


在分配资源之前先看清楚,资源分配后是否会导致系统死锁。如果会死锁,则不分配,否则就分配。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: