TMultiReadExclusiveWriteSynchronizer 死锁

TMultiReadExclusiveWriteSynchronizer Deadlock

我在处理涉及多线程、TMultiReadExclusiveWriteSynchronizer 和偶尔出现的死锁的大型项目时遇到了问题。 我的理解是否正确,只有当一个线程不释放锁(EndReadEndWrite)并且 另一个 线程想要锁定它时才会发生死锁? 我已经用 try finally 打包了我所有的 BeginReadBeginWrite 并且想不出它应该停止的任何原因...... :-(

如果您有两个或更多 TMultiReadExclusiveWriteSynchronizer,则必须注意如何使用它们。

假设一个线程获得了第一个锁,另一个线程获得了第二个锁。如果每个线程都想获得他还没有的锁,那么你就有了死锁!