首页
死锁的4个必要条件是什么(死锁)
返回

死锁的4个必要条件是什么(死锁)

2023-01-04 精选百科 By:佚名
最佳答案大家好,小问来为大家解答以上问题。死锁的4个必要条件是什么,死锁这个很多人还不知道,现在让我们一起来看看吧!1、在两个或多个任务中,如果每个任务锁定了其他任务试图锁定的资源,此时会造成这些任务永久阻塞,从而出现死锁。2、例如: 事务 A 获取了行 1 的共享锁。3、事务 B 获取了行 2 的共享...

大家好,小问来为大家解答以上问题。死锁的4个必要条件是什么,死锁这个很多人还不知道,现在让我们一起来看看吧!

1、在两个或多个任务中,如果每个任务锁定了其他任务试图锁定的资源,此时会造成这些任务永久阻塞,从而出现死锁。

2、例如: 事务 A 获取了行 1 的共享锁。

3、事务 B 获取了行 2 的共享锁。

4、现在,事务 A 请求行 2 的排他锁,但在事务 B 完成并释放其对行 2 持有的共享锁之前被阻塞。

5、现在,事务 B 请求行 1 的排他锁,但在事务 A 完成并释放其对行 1 持有的共享锁之前被阻塞。

6、事务 A 必须在事务 B 完成之后才能完成,但事务 B 被事务 A 阻塞。

7、这种情况也称为循环依赖关系:事务 A 依赖于事务 B,而事务 B 又依赖于事务 A,从而形成了一个循环。

8、除非某个外部进程断开死锁,否则死锁中的两个事务都将无限期等待下去。

9、Microsoft SQL Server Database Engine 死锁监视器定期检查陷入死锁的任务。

10、如果监视器检测到循环依赖关系,将选择其中一个任务作为牺牲品,然后终止其事务并提示错误。

11、这样,其他任务就可以完成其事务。

12、对于事务以错误终止的应用程序,它还可以重试该事务,但通常要等到与它一起陷入死锁的其他事务完成后执行。

13、在应用程序中使用特定编码约定可以减少应用程序导致死锁的机会。

14、有关详细信息,请参阅将死锁减至最少。

15、死锁经常与正常阻塞混淆。

16、事务请求被其他事务锁定的资源的锁时,发出请求的事务一直等到该锁被释放。

17、默认情况下,SQL Server 事务不会超时(除非设置了 LOCK_TIMEOUT)。

18、因为发出请求的事务未执行任何操作来阻塞拥有锁的事务,所以该事务是被阻塞,而不是陷入了死锁。

19、最后,拥有锁的事务将完成并释放锁,然后发出请求底事务将获取锁并继续执行。

20、死锁有时称为抱死。

21、不只是关系数据库管理系统,任何多线程系统上都会发生死锁,并且对于数据库对象的锁之外的资源也会发生死锁。

22、例如,多线程操作系统中的一个线程要获取一个或多个资源(例如,内存块)。

23、如果要获取的资源当前为另一线程所拥有,则第一个线程可能必须等待拥有线程释放目标资源。

24、这就是说,对于该特定资源,等待线程依赖于拥有线程。

25、在数据库引擎 实例中,当获取非数据库资源(例如,内存或线程)时,会话会死锁。

26、在上图中,对于 Part 表锁资源,事务 T1 依赖于事务 T2。

27、同样,对于 Supplier 表锁资源,事务 T2 依赖于事务 T1。

28、因为这些依赖关系形成了一个循环,所以在事务 T1 和事务 T2 之间存在死锁。

以上就是【死锁的4个必要条件是什么,死锁】相关内容。

猜你喜欢
自来水白色粉末是什么

自来水白色粉末是什么

07-22 0 阅读
蛋鸡高压锅压多长时间

蛋鸡高压锅压多长时间

12-13 0 阅读
朋友是贵阳联通用户,我忘记他电话号码了,用人名能查到吗?

朋友是贵阳联通用户,我忘记他电话号码了,用人名能查到吗?

10-31 0 阅读
都市之雄(关于都市之雄的基本详情介绍)

都市之雄(关于都市之雄的基本详情介绍)

12-31 0 阅读
有效工时(关于有效工时的简介)

有效工时(关于有效工时的简介)

12-31 0 阅读
明项圣谟放鹤洲图轴(关于明项圣谟放鹤洲图轴的简介)

明项圣谟放鹤洲图轴(关于明项圣谟放鹤洲图轴的简介)

12-31 0 阅读
热门推荐
对虾的做法大全简单又好吃(对虾的做法)

对虾的做法大全简单又好吃(对虾的做法)

01-04 0 阅读
李冰海(关于李冰海的简介)

李冰海(关于李冰海的简介)

01-01 0 阅读
诺基亚的vertu(关于诺基亚的vertu的基本详情介绍)

诺基亚的vertu(关于诺基亚的vertu的基本详情介绍)

01-02 0 阅读
如何给孩子取名字最好(如何给孩子取名字)

如何给孩子取名字最好(如何给孩子取名字)

01-02 0 阅读
海之花(关于海之花的基本详情介绍)

海之花(关于海之花的基本详情介绍)

01-02 0 阅读
专业学位(关于专业学位的基本详情介绍)

专业学位(关于专业学位的基本详情介绍)

12-31 0 阅读
自来水白色粉末是什么

自来水白色粉末是什么

07-22 0 阅读
脸部脱皮是因为什么原因(脸部脱皮)

脸部脱皮是因为什么原因(脸部脱皮)

01-04 0 阅读
eprint是啥意思

eprint是啥意思

12-20 0 阅读
新型中心体蛋白CCDC74B对纤毛生成的调控作用和机制(关于新型中心体蛋白CCDC74B对纤毛生成的调控作用和机制的简介)

新型中心体蛋白CCDC74B对纤毛生成的调控作用和机制(关于新型中心体蛋白CCDC74B对纤毛生成的调控作用和机制的简介)

12-30 0 阅读