c/c++ libuv简介与编译

libuv是一个开源的跨平台异步I/O库,用于处理网络和文件系统的异步操作。它作为Node.js的基础库,提供事件循环模型,包括epoll、kqueue、IOCP、event ports等。本文介绍了libuv的基本概念、架构原理以及在不同平台上的编译步骤,帮助开发者理解并构建libuv项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

libuv简介

1: 开源跨平台的异步IO库, 网络异步,文件异步等。
2: libuv主页: http://libuv.org/
3: libuv是node.js的底层库;
4: libuv的事件循环模型: epoll, kqueue, IOCP, event ports;
异步 TCP 与 UDP sockets;
DNS 解析
异步文件读写;
信号处理;
高性能定时器;
进程/线程池;


libuv架构图

这里写图片描述


libuv原理

1:异步: 在用户层同时管理多个句柄请求。
2: loop循环等待所有的事件和句柄,管理好所有的这些请求。
3: 当其中一个请求完成后,loop就会监测得到然后调用用户指定的回掉函数处理;
4: 例如loop监听所有的socket,有数据来了后,loop就会处理,然后转到用户指定的回掉函数。
5: libuv编写思想:
1> 创建一个对象, 例如socket;
2> 给loop管理这个对象;
3> 并指定一个回掉函数,当有事件发生的时候调用这个回掉函数, callback;

6: 1>像loop发送请求;
2>指定结束后的回掉函数;
3>当请求结束后,调用这个回掉函数;


libuv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值