引出
定时器是一个比较常见的数据结构,或者说框架,以一个最简单的例子引出,在游戏中,冷却时间使用的就是定时器;
所以说定时器是等待时间过期执行对应时间事件处理( 回调函数 )的一个框架;
补充:下文中可能会出现定时任务,它和时间事件基本上是一个东西
那么现在有一个就有一个问题,该如何实现定时器这一功能?
- 首先进行两种分类:随着网络事件处理定时事件;不随着网络事件处理时间事件;
定时器概述
对于一个服务器来说,需要许多客户端进行通信,必然会有网络IO相关的事件( 网络IO事件 );
除此之外,服务器内部对于一个或N个客户端传输过来的数据进行延时相关的处理,针对不同送达时间,必然会有排序和时间事件;
对于不同的框架,针对网络事件和时间会有不同的实现:
- 第一种,网络事件和定时事件在同一个线程中使用;
- 第二种:网络事件和定时事件在不同的线程中使用;