首页 > 代码库 > C语言笔试题精选3---死锁发生必要条件是?

C语言笔试题精选3---死锁发生必要条件是?

问:下面哪些是死锁发生必要条件?

A、互斥条件

B、请求和保持

C、不可剥夺

D、循环等待






详细解答:

1、互斥使用(资源独占)
 一个资源每次只能给一个进程使用 


2、不可强占(不可剥夺)
    资源申请者不能强行的从资源占有者手中夺取资源,资源只能由占有者自愿释放 


3、请求和保持(部分分配,占有申请)
一个进程在申请新的资源的同时保持对原有资源的占有(只有这样才是动态申请,动态分配) 


4、循环等待
存在一个进程等待队列
    {P1 , P2 , … , Pn},
    其中P1等待P2占有的资源,P2等待P3占有的资源,…,Pn等待P1占有的资源,形成一个进程等待环路

答案:ABCD

C语言笔试题精选3---死锁发生必要条件是?