libuv学习-事件循环

一. 事件循环的例子

#include 
#include 
void timer_callback(uv_timer_t* timer) {
    // Callback logic here
    std::cout << "Timer callback" << std::endl;
}

int main() {
    uv_loop_t* loop = uv_loop_new();
    uv_loop_init(loop);
    uv_timer_t timer;
    uv_timer_init(loop, &timer);
    uv_timer_start(&timer, timer_callback, 1000, 1000);

    uv_run(loop, UV_RUN_DEFAULT);

    uv_loop_close(loop);

    return 0;
}

这个例子包含事件循环的句柄(loop),经历初始化,运行,停止,关闭等流程。

二. 代码解析

1. 结构体

uv_loop_t

struct uv_loop_s {
  /* 用户自定义数据. */
  void* data;
  /* 活跃状态句柄计数器. */
  unsigned int active_handles;
  void* handle_queue[2];
  union {
    /* 未来扩展 */
    void* unused;
    /* 对在线程池中调用的异步I/O进行计数 */
    unsigned int count;
  } active_reqs;
  /* Internal storage

你可能感兴趣的:(libuv学习,实时音视频)