2013-04-02 11 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){..}。

唯一的區別可能是執行順序,我不知道在這個時刻執行排隊計時器的方式。

相關問題