Chinaunix首页 | 论坛 | 博客
  • 博客访问: 64029
  • 博文数量: 46
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2017-04-22 16:11
文章分类
文章存档

2017年(46)

我的朋友

分类: 系统运维

2017-05-16 14:57:29

/*===============================================================

例如你设计路由层协议的时候,需要周期性更新缓存,这就需要这种操作

----------------------------------------------------------------*/

1.设计handler

class MobiHandler : public Handler {

public:

        MobiHandler(RouteCache *C,double itv) {

                interval = itv;

                cache = C;

        }

        void start() {

                Scheduler::instance().schedule(this, &intr, interval);

        }

        void handle(Event *e);

private:

        double interval; //周期

        Event intr;

        RouteCache *cache;//一定要要有哦

};

2.定义实现handler()函数

其中在routecach中的定义handle()的代码如下

MobiHandler::handle(Event *intr) {

        cache->periodic_checkCache();

        Scheduler::instance().schedule(this, intr, interval);

}

3.使用计时方法

MobiHandler mh;

mh.start();

阅读(753) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~