我遇到了一个添加超时计时器的代码0
:
EventMachine.add_timer(0) {
...
}
这有意义吗?这怎么可能有用?这与使用有什么不同next_tick
吗?
EventMachine.next_tick {
...
}
我遇到了一个添加超时计时器的代码0
:
EventMachine.add_timer(0) {
...
}
这有意义吗?这怎么可能有用?这与使用有什么不同next_tick
吗?
EventMachine.next_tick {
...
}
因为我自己是古玩,所以我快速浏览了 Eventmachine 源代码:
http://eventmachine.rubyforge.org/EventMachine.html#run-class_method
我在事件循环中找到了这个:
...
if @next_tick_queue && !@next_tick_queue.empty?
add_timer(0) { signal_loopbreak }
end
...
这几乎意味着当您在内部定义 next_tick 时,它将使用 add_timer(0) {..} 。
唯一的区别可能是执行顺序,我不确定此时排队的计时器是以哪种方式执行的。