EventMachine滴答间隔?

时间:2013-08-30 03:17:50

标签: ruby eventmachine

有一种方法EventMachine.next_tickhttp://eventmachine.rubyforge.org/EventMachine.html#next_tick-class_method)。嘀嗒间隔有多大?怎么控制呢?可以设置滴答间隔吗?

1 个答案:

答案 0 :(得分:3)

Eventmachine Ticks基本上与reactor事件循环的每次运行匹配。使用next_tick将在下一次可用的reactor循环运行时运行该块。这意味着下一次实际运行,或者更可能的是,在不久的将来的某个时刻,基于是否还有其他事件等待反应堆回路接收。例如,首先运行使用add_timeradd_periodic_timer的队列的任何代码块,然后处理其他事件,如传入的网络流量。

A" tick"在Eventmachine中,它实际上并不是时间的衡量标准,它是反应堆循环执行次数的计数器。如果你的反应器循环中有阻塞操作,那么每个滴答都需要更长的时间来处理。

如果您需要了解应该何时运行,请使用add_timeradd_periodic_timer instead of next_tick`。但由于无法确保反应器回路在定时器应该触发的确切时刻可用,因此几乎不可能使用Eventmachine来获得准确的定时器间隔。

相关问题