事务死锁检测
每一个事务都会持有一把锁,会把锁排好序用有向图表示出来。
如果成环,那么就说明有死锁。
这时就可以把其中一个事务回滚,从而打破死锁。
-----------
何时会出现死锁?
事务之间相互等待,事务A等待事务B,事务B等待事务A,此时就可会死锁。
--------
往往我们采取一个独立的线程,每间隔一段时间,就去检测这个有向图的情况。
Manager循环依赖
游戏在启动的时候,我们有许多的Manager需要初始化,但是有时候,Manager之间的数据需要有依赖关系。我们又不能成环状,因此需要一定的循环检测机制,此时就可以使用有向图,从而检测到环的时候,报错。