死锁
1.什么是死锁?
* 死锁指多个线程在运行过程中因争夺资源而造成的一种僵局。当线程处理这种僵持状态时,若没有外力,则都无法向前推进
2.导致死锁的原因?
* 多个线程同时被阻塞,他们中一个或者全部线程都在等待某个资源而释放,而资源又被其他线程锁定
* 从而导致每一个线程都得等其他线程释放其锁定的资源,造成所有线程都无法正常结束
3.死锁产生的四个条件
* ①.互斥条件 一个资源只能被一个进程所占用,此时其他进程请求该资源,则请求必须等待
* ②.不剥夺条件 进程使用的资源在未完成之前,不能被其他进程强行夺走
4.死锁的处理策略
* ①.预防死锁 破坏其中一个必要条件
* ②.避免死锁
* ③.死锁的检测及解除