netty实现动态定时器

最近开发一个后台游戏服务器,需要定时给 客户端推送 作物状态:

1.需要开启一个线程,执行定时任务

2.需要动态添加定时任务

3.需要动态修改定时任务时间。

网上找到两种方式:quartz服务 和HashedWheelTimer 这两种方式 ,项目中用的是HashedWheelTimer ,相关API可以自行百度或者看源码。

创建HashedWheelTimer  对象

 

通过 map<String,TimerOut> 来存储 定时器

通过设置定时任务返回timeOut  对象,存放在map中,当使用减少时间的道具时,修改定时任务时间

 

 编写定时器方法

在 因为用的是netty 在断开连接的时候 一定要存储。

 

posted @ 2018-11-01 14:08  牧の风  阅读(3742)  评论(0编辑  收藏  举报