什么情况下会发生死锁?解决死锁的策略有哪些?

死锁发生的四个必要条件是: 
1.资源互斥使用。 
2.多个进程保持一定的资源,但又请求新的资源。 
3.资源不可被剥夺。 
4.多个进程循环等待。 

一般死锁的应对策略有: 
1.死锁预防。如进程需要的所有资源,在一开始就全部申请好得到之后再开始执行。 
2.死锁避免。如进程每次申请申请资源的时候,根据一定的算法,去看该请求可能不可能造成死锁,如果可能,就不给它分配该资源。 
3.死锁处理。破坏四个必要条件的其中一个,比如kill掉一个进程。 
4.死锁忽略。不管死锁,由用户自行处理,比如重启电脑。一般的系统其实都采取这种策略。

数据库什么时候会产生死锁?

当表进行了分区并且ALTERTABLELOCK_ESCALATION设置设为AUTO时也会发生死锁

什么情况下会发生死锁?解决死锁的策略有哪些?_第1张图片什么情况下会发生死锁?解决死锁的策略有哪些?_第2张图片

你可能感兴趣的:(什么情况下会发生死锁?解决死锁的策略有哪些?)