

线程死锁
- 互斥(Mutual Exclusion)
一次只能有一个线程使用该资源,利用互斥锁锁住。如果另一个线程请求该资源,则必须延迟请求,知道该线程释放资源为止
- 保持并等待(Hold and wait)
一个线程占有至少一个资源,并且正等待获取其他线程所持有的资源
- 无抢占(No Preemption)
资源不能被抢占,即在线程完成其任务之前,只能由它占有该资源,不允许中途被其他线程抢走
- 循环等待(Circular Wait)
一组等待线程{P0,P1,P2……Pn},其中P0等待P1的资源,P1等待P2的资源……Pn等待P0的资源,形成了死循环