2013-04-02 12 views
1

我对面,增加了一个定时器超时0代码来的?这怎么可能有用?这与使用next_tick有什么不同?EventMachine.add_timer(0)

EventMachine.next_tick { 
    ... 
} 

回答

2

,因为我是古玩自己,我刚刚看了一下在EventMachine的源代码:

http://eventmachine.rubyforge.org/EventMachine.html#run-class_method

,我发现这个事件循环中:

... 
if @next_tick_queue && [email protected]_tick_queue.empty? 
    add_timer(0) { signal_loopbreak } 
end 
... 

其漂亮这意味着当你在内部定义next_tick时,它将使用add_timer(0){..}。

唯一的区别可能是执行顺序,我不知道在这个时刻执行排队计时器的方式。

相关问题