数据库
首页 > 数据库> > 数据库原理 活锁死锁

数据库原理 活锁死锁

作者:互联网

1、封锁技术可以有效的解决并行操作一致性的问题,但是也带来了新的问题

   

2、如何避免活锁?死锁?

避免活锁:

  采用先来先服务的策略

避免死锁:

  死锁的预防(通过破坏死锁产生的条件使得不会发生死锁)、死锁的诊断和解除(允许发生死锁,但是定期的诊断和解除死锁)

3、预防死锁的方法?

一次封锁法:要求每个事务将要使用的数据全部加锁,否则就不能执行

存在的问题:

顺序封锁法:预先对数据对象规定一个封锁顺序(例如B+树从根节点开始逐层分锁),所有的事务都按照这个顺序施行封锁

存在的问题:

预防死锁的小结:操作系统中广为采用的预防死锁的策略,并不适合数据库系统的特点,数据库系统在解决死锁的问题上,更普遍使用的是诊断并且解除的策略。

4、死锁的诊断方法?

并发控制子系统,周期性的生成事务等待图(比如每隔数秒),检测事务。如果图中发生了回路,就表示系统中出现了死锁。

5、死锁的解除?

解锁总结

思考:顺序封锁法为什么能够防止死锁?

 

标签:封锁,事务,加锁,对象,数据库,死锁,顺序,原理,锁死
来源: https://blog.csdn.net/yky__xukai/article/details/104854516