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和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...