![]() |
1
1
两个“先写后读”序列可以定义为死锁。您在文章中省略了一些“细节”,比如死锁发生在什么资源上以及涉及到哪些请求。我们会坐在自己的座位上,在字里行间阅读,从这样一篇没有充分记录的文章中,我们可以得出很多结论:
更多的死锁场景是可能的,但是我们将进入深奥或开始推断相当远的丢失信息在操作。 如果我敢猜测,最有可能的情况是2)。案例1)可能很容易成为标识符。案例2)在简单的代码分析中比较难发现,因为它依赖于物理模式设计(索引结构)。 |
![]() |
2
0
在探查器中运行跟踪(选择空白模板),选择死锁图事件,并在出现的新标签(事件提取设置)上,将每个(单独保存检查死锁XML事件)保存在自己的文件中。在XML查看器中打开这个文件,就很容易知道发生了什么。每个进程都包含一堆过程调用等,所有锁也都在其中,因此您可以确定是什么导致了死锁。 让这个跟踪一直运行到死锁再次发生,只有死锁发生时才会记录信息,所以不会有太多开销。 |
![]() |
TheStoryCoder · Yii2:是否在事务外部执行查询? 6 年前 |
![]() |
Ali · 将SQL事务用于单个SQL查询[已关闭] 6 年前 |
![]() |
Marcus Cemes · 选择。。。用于更新在提交后选择旧数据 7 年前 |