今天想实现个小功能:战斗结束时,后台先立即退房间
-
退房间逻辑包含了:所有人退光后,销毁房间
-
销毁房间,会同步销毁GameWorld
在OnPlayerDie回调中加了一句代码,导致连续出现四处宕机bug~太牛逼了
很好修复,但这不是重点。重点是,这bug同时隐匿在
分别不同人写的模块,且不做本次业务改动,跑得很稳定
本质是:持有着某对象的引用,调用事件函数后,共享出去了它的操作权,但写的人忘了它会被改,更不能期望别人会主动通知。
根本解决方案:支持一套迭代安全的容器模板,仅高内聚的模块允许使用原生迭代器
【扩展联想】
遍历删除
原文:https://www.cnblogs.com/3workman/p/14872179.html