2017年(46)
分类: 系统运维
2017-05-16 14:57:29
原文地址:NS技巧--周期性执行某种操作的函数设计 作者:yexin218
/*===============================================================
例如你设计路由层协议的时候,需要周期性更新缓存,这就需要这种操作
----------------------------------------------------------------*/
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();