介绍
定时器组件是服务器最常用的一组件,应用在心跳检测,倒计时,以及自己在游戏开发中常用到的技能冷却,游戏buffer等。
网络编程中应用
对于服务器而言,驱动服务器逻辑的事件主要分为两类:
网络事件;时间事件
而在不同框架中,两种事件的不同实现方式:
第一种:网络事件和时间事件在同一个线程中配合使用,开源组件代表 nginx,redis
// 第⼀种
while (!quit) {
int now = get_now_time();
// 单位:ms
int timeout = get_nearest_timer() - now;
if (timeout < 0) timeout = 0;
int nevent = epoll_wait(epfd, ev, nev, timeout);
for (int i=0; i<nevent; i+