主要用來取代crontab這樣的定時器,能實現毫秒級的精度。
- 基于reactor線程(在task worker進程中使用系統定時器)
- 基于epoll的timeout機制實現
- 使用堆存放timer,提高檢索效率
Timer常見問題:
1、傳遞參數
可以通過timer的第三個參數進行傳遞,也可以使用use 閉包
2、傳遞對象
onTimer是在調用tick方法的進程中回調(不能是匿名函數),因此可以直接使用在worker進程中聲明的對象(局部變量無法訪問)
3、timer的清除
tick方法會返回time_id,可以使用swoole_timer_clear清除指定的timer