我们在进行程序运行的时候,有时候会遇到死锁问题,那么死锁产生的条件是什么呢?
下面4个条件缺一不可:
1互斥:共享资源X,Y之只能被一个线程占用
2占有且等待:线程1已经获得共享资源X,同时在等待资源Y,并且不释放X
3不可抢占:其他线程无法抢占线程1已经占有的资源X
4循环等待:线程1等待线程2的西元,线程2等待线程1的资源
正是因为这是个条件缺一不可,所以我们只要破坏其中一个条件,那么死锁问题便可迎刃而解。
我们在进行程序运行的时候,有时候会遇到死锁问题,那么死锁产生的条件是什么呢?
下面4个条件缺一不可:
1互斥:共享资源X,Y之只能被一个线程占用
2占有且等待:线程1已经获得共享资源X,同时在等待资源Y,并且不释放X
3不可抢占:其他线程无法抢占线程1已经占有的资源X
4循环等待:线程1等待线程2的西元,线程2等待线程1的资源
正是因为这是个条件缺一不可,所以我们只要破坏其中一个条件,那么死锁问题便可迎刃而解。