gpt4 book ai didi

java - 如何避免数据库死锁

转载 作者:搜寻专家 更新时间:2023-11-01 02:18:16 26 4
gpt4 key购买 nike

我有一个遭受数据库死锁的集群应用程序。

它是一个使用JPA 和hibernate 的j2ee 应用程序。数据库是Z/OS上的DB2 8.1,设置了页面锁定(这是公司的要求)。

问题是主键是作为一个序列生成的,如果系统有任何重大负载,在尝试插入记录时经常会死锁。

是否有任何“最佳实践”来降低死锁的可能性?

最佳答案

“是否有任何“最佳实践”来降低死锁的可能性?”

死锁意味着 2 个(或更多)进程、2 个(或更多)资源和两个不同的访问顺序。

进程 1 必须得到 A 和 B。

进程 2 必须得到 B 并等待 A。

如果每个进程都先获得 A,死锁的发生率就会降低。

由于您在整个页面上陷入僵局,因此很难确保每个人都获得相同的页面来开始他们的事务。

您可以通过确保页面之间的行被广泛打乱来尝试减少冲突。

您可以尝试通过引入“您必须首先获取”行来减少冲突,这将有效地实现单线程应用程序。

关于java - 如何避免数据库死锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2163922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com