2.产生死锁的必要条件( Conditions for Deadlock )(重点掌握)
• 互斥( Mutual exclusion )条件:一个资源一次只能被一个进程所使用,即是排它性使用。
• 不可抢占( No preemption )条件:一个资源仅能被占有它的进程所释放,而不能被别的进程强占。
• 请求和保持( Hold-and-wait )条件:进程已经保持了至少一个资源,但又提出了新的资源要求,而该资源又已被其它进程占有,此时请求进程阻塞,但又对已经获得的其它资源保持不放。
• 环路等待( Circular wait )条件:当每类资源只有一个时,在发生死锁时,必然存在一个进程-资源的环形链。
产生死锁这四个条件仅是必要条件而不是充分条件,即只要发生死锁则这四个条件一定同时成立,但反之则不然。