admin管理员组文章数量:1130349
一. 事件循环的例子
#include <uv.h>
#include <iostream>
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 for future extensions. */
void* internal_fields;
一. 事件循环的例子
#include <uv.h>
#include <iostream>
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 for future extensions. */
void* internal_fields;
版权声明:本文标题:libuv学习-事件循环 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1754769845a2726150.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论