kbe定时器框架

来源:互联网 发布:易推微博助手软件 编辑:程序博客网 时间:2024/05/16 14:28

kbe的定时器框架类图:

kbe的loginapp是靠EventDispatcher对象进行驱动,EventDispatcher通过不断的调用task进行任务处理,还要处理一些超时的行为,上面就是通过定时器对象进行超时处理的定时器框架图。


最开始看kbe的timer时,看到里面的一些类名定义认为很奇葩,然后静下心来研究却发现:人家这样定义是合理的。也不存在面向对象过度分析造成的冗余。


EventDispatcher中保存了一个TimersT对象,这个对象内部有个容器,这个容器用于保存被EventDispatcher轮询的定时器对象Time,而实际的超时操作是通过TimerHandler的实现类完成的,一个实际的Time对应一个处理这个超时的TimerHandler对象。如果实际的TimerHandler对象发现对应的定时器Time被取消或者无效,就通过TimerHandle来把Time和实际的TimerHandler的对应关系斩断,并把Time从TimersT的容器中删除,从而下次不会被EventDispatcher轮询.


仔细思考个人认为:上面的框架思路清晰,没有过度的面向对象分析容易,而且可移植和扩展性较强.


0 0
原创粉丝点击