libuv 定时器timer 使用: g++ -o sunquan main.cpp -luv 执行 ./sunquan 可以看到每隔1秒打印一次 count的值。 uv_timer_start(&timer, timer_cb, timeout, repeat); 其中timeout是首次触发等待的时间毫秒值,之后每隔repeat毫秒触发一次,如果repeat=0表示首次触发之后不再触发。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 //main.cpp #include <cstdlib> #include <uv.h> #include <assert.h> #include <time.h> #include <iostream> using namespace std; void timer_cb(uv_timer_t *handlei) { static int count=1; cout<<"count=="<<count++<<endl; } int main() { int r; uv_timer_t timer; r = uv_timer_init(uv_default_loop(),&timer); assert(r==0); // 0 cout<<uv_is_active((uv_handle_t*) &timer)<<endl; // 0 cout<< uv_is_closing((uv_handle_t*) &timer)<<endl; cout<<"start "<<time(NULL)<<endl; r = uv_timer_start(&timer, timer_cb, 5000, 1000); r = uv_run(uv_default_loop(),UV_RUN_DEFAULT); cout<<"r="<<r<<endl; return 0; }……

阅读全文