Advertisement

Netty框架中的HashedWheelTimer

阅读量:

1、现有业务场景描述如下

当某一事件发生时,在三步内依次向相关人员发送通知;第一步是立即送达;后续两步则相隔两秒

使用netty的定时器实现如下

2、netty的HashedWheelTimer

复制代码
  //       一个HashedWheelTimer是一个环形结构,可以想象成时钟,

    
     //       分为很多格子,一个格子代表一段时间(越短Timer精度越高),
    
     //        并用一个List保存在该格子上到期的所有任务,同时一个指针随着时间流逝一格一格转动,
    
     //        并执行对应List中所有到期的任务。
    
  
    
     //        这个类一般用来处理大量的定时任务且任务对时间精度要求相对不高,
    
     //        比如链接超时管理等场景, 缺点是,  内存占用相对较高.该类中有两个重要的参数
    
  
    
     //        tickDuration:即一个格子代表的时间,默认为100ms
    
  
    
     //        ticksPerWheel (Wheel Size):一个Wheel含有多少个格子,默认为512个,
    
     //        如果任务较多可以增大这个参数

全部评论 (0)

还没有任何评论哟~