程序获取信息有两种办法,主动查询和被动接收。比如需要知道一个单位是否死亡。
主动查询
可以每隔一段时间使用相关的api去查询一下特定的单位状态。
这种办法的缺点是不能及时得到消息,取决于查询的频率。还有低效的cpu使用。频繁做无用的查询。
但是好处是代码简单。适合简单的场景。不需要cpu优化的场景。
被动接收
当一个单位死亡时,单位管理器会有一个消息发出,可以发到一个消息中心。而需要得到这个消息的模块提前向消息中心注册监听。所以当消息中心得知单位死亡的消息时,会转发给需要知道的模块。
这种办法优点是消息及时通知,运行高效不消耗cpu。
缺点是代码复杂一些。