死锁形成的四个必要条件:
1.互斥条件:多个进程同时需要同一资源,而该资源又被上了锁,被一个进程所拥有,其他线程被迫等待资源的释放
2.不剥夺条件:请求进程不能强行夺取正在使用该资源的进程,只能由该进程主动释放资源
3.请求与保持:进程在占有至少一个资源的同时,对其他资源也发出了请求,但其他资源已经被另外的线程占有,请求进程进入阻塞,且保存对资源的不释放。
4.循环等待:存在进程循环等待链,链中每一个进程所获取的资源被另一个进程所请求,但该进程的请求资源也被其他进程所获取,被迫进入阻塞状态,资源不释放。
ps:进程的状态分为:创建、就绪、运行、阻塞、结束