Reactor定时器的精度取决于实现

4 Reactor定时器的精度取决于实现

由于Reactor在各个平台的默认实现都取决于平台的实现,比如在Windows下默认的ReactorWFMO_REACTOR,而在LinuxUNIX平台,默认的ReactorSelect_Reactor,Reactor的实现往往取决于使用的反应器底层实现,而这些反应器的时间精度就决定了你的定时器的时间精度。下表大致反馈了一些常用的定时器的实现。

表1 常用Raactor的实现

Reactor

反应器的底层实现

时间精度

ACE_Select_Reactor

select函数

使用struct timeval结构进行超时处理; timeval 结构可以精确倒微秒。

Dev_Poll_Reactor

poll或者而epoll

timeout参数的单位是毫秒。

ACE_WFMO_REACTOR

WaitForMultipleObjects

dwMilliseconds 的参数单位是毫秒

不过作为服务器的开发,我倒想不出什么地方需要精确到0.1s定时器的地方,了解一下差异性就足够了。

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...