使用g++编译、运行libuv的demo错误解决

我们通过例子来讲述监视器的使用. 例子中空转监视器回调函数被不断地重复调用,  通过例子我们也可以了解到:

由于设置了监视器, 所以调用 uv_run() 是程序会阻塞, 空转监视器将会在计数器达到设定的值时停止(监视), uv_run() 会退出因为此时程序中没有活动的监视器了.

测试代码如下

 1 #include <stdio.h>
 2 #include <uv.h>
 3 
 4 int64_t counter = 0;
 5 
 6 static void wait_for_a_while(uv_idle_t* handle) {
 7     counter++;
 8 
 9     if (counter >= 10e6)
10         uv_idle_stop(handle);
11 }
12 
13 int main() {
14     uv_idle_t idler;
15     uv_idle_init(uv_default_loop(), &idler);
16     uv_idle_start(&idler, wait_for_a_while);
17 
18     printf("Idling...\n");
19     uv_run(uv_default_loop(), UV_RUN_DEFAULT);
20 
21     return 0;
22 }
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-09
  • 2021-12-05
  • 2022-02-20
  • 2021-08-19
  • 2021-08-19
  • 2021-07-16
猜你喜欢
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
  • 2021-08-30
  • 2022-12-23
相关资源
相似解决方案