我有一个报告死锁的错误日志:
事务(进程 ID 55)在锁上死锁 | 与另一个进程通信缓冲区资源,并已被选为死锁牺牲品。重新运行事务。
我正在尝试重现此错误,但我的标准死锁 SQL 代码会产生不同的错误:
事务(进程 ID 54)在锁定资源上与另一个进程死锁,并已被选为死锁牺牲品。重新运行事务。
我想非常清楚,我不是在问什么是死锁。我确实了解基础知识。
我的问题是:lock | communication buffer resources
在这种情况下是什么意思?什么是“通信缓冲资源”?有lock |
什么意义吗?
我最好的猜测是当并行线程组合它们的结果时使用通信缓冲区。任何人都可以确认或否认这一点吗?
我的最终目标是以某种方式触发第一个错误再次发生。