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

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

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

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

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

创建HashedWheelTimer  对象

netty实现动态定时器

 

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

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

netty实现动态定时器

 

 编写定时器方法

netty实现动态定时器

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

 

相关文章:

  • 2021-07-28
  • 2021-12-17
  • 2021-11-27
  • 2022-01-06
  • 2021-11-08
  • 2021-07-14
  • 2021-11-15
猜你喜欢
  • 2021-11-29
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
相关资源
相似解决方案