2013年8月24日 星期六

uloop: 一個簡單的 Event Loop implementation

我在 OpenWrt 裏找到一個小工具 uloop,一個簡單的 Event Loop Implementation,藏身在 libubox 裏。

uloop() 主要提供兩個功能,一個是簡單的 timer,可以設定在 timeout 後自動執行指定的 function,另一個是類似 exec 指令,可以執行外部程式,後面這個功能好像沒多大用處。uloop() 有 lua binding,所以可以在 lua 程式裏套用。

底下的程式示範 uloop()  timer 的使用方法 (timer_demo.lua):

執行結果如下:

image

其中,t1 只跑一次,t2 每兩秒跑一次,而 t3 則不會跑,因為它被取消了。

0 意見: