死锁的条件:
1.互斥条件:线程使用的资源必须至少有一个不可以共享,一个资源一次只能被一个线程访问
2.请求与保持条件:线程必须持有一个资源并且正等待获取一个当前被其它线程占有的资源
3.非剥夺条件:不能对线程正持有的资源强制性剥夺
4.循环等待条件:线程之间相互等待,都不愿把资源释放
如何避免死锁:
1.充分的了解死锁原因,这样可以有效的避免死锁
2.设计系统的时候避免死锁的那四个条件同时成立
3.避免线程在等待的时候占有资源
4.所有的线程按顺序来访问资源
1.互斥条件:线程使用的资源必须至少有一个不可以共享,一个资源一次只能被一个线程访问
2.请求与保持条件:线程必须持有一个资源并且正等待获取一个当前被其它线程占有的资源
3.非剥夺条件:不能对线程正持有的资源强制性剥夺
4.循环等待条件:线程之间相互等待,都不愿把资源释放
如何避免死锁:
1.充分的了解死锁原因,这样可以有效的避免死锁
2.设计系统的时候避免死锁的那四个条件同时成立
3.避免线程在等待的时候占有资源
4.所有的线程按顺序来访问资源