Nodejs使用的LIBEV中如何实现EV_TIMER



nodejs中的settimeout用C语言库libev ev_timer实现。EV_TIMER如何工作?

它是使用投票实施的吗?如果我设置了30秒的超时,是否有任何过程检查每个毫秒的待定超时吗?

libev已被libuv取代。

此处说明了计时器API

基本上,事件循环进行轮询后,系统中的所有其他非IO活动都完成。目前,它将有一个或多个I/O活动,以及一个或多个计时器事件。民意调查的输入的制作方式是在注册时间事件中最不超时。这与事件循环所维护的相对时间字段结合在一起,有助于找出正确的时间进行计时器回调。

简而言之,通过民意调查,而不是通过常规唤醒和重新检查将等待时间委托给操作系统。

希望这会有所帮助。

相关内容

  • 没有找到相关文章

最新更新