什么是libuv?

什么是libuv?,第1张

Libuv是Node.js的多平台支持库,主要用于异步I/O。它主要是为Node.js开发的,随着时间的推移,它被广泛用于其他系滚派统,如Luvit、pyuv、Julia等。Libuv基本上是对依赖于平台的libev/IOCP的抽象,为用户提供基于libev的API。libuv的一些重要特性是:

    ●   配洞 支持全功能事件循环

    ●    文件系统事件

    ●    异步文件和文件系统 *** 作

    ●    异步TCP和UDP套大卖贺接字

    ●    子进程

libtool 默认mac有自带 如果没有的话需要源码编槐行译

automake,如果模庆brew install automake 不能安铅码哗装的话可以源码编译安装

make生成.libs目录,里面是编译好的静态库,核心是 libuv.a 文件。

make install会把uh.h头文件复制到/usr/local/include/。libuv.a 复制到 /usr/local/lib

打开vscode加载libuv项目。

添加launch.json

添加tasks.json 注意args要添加-luv,因为libuv的头文件生成功到include/uv目录下

创建my-test/test-once.c

点击debug

libuv 作为 node 的底层库,在错岁山误处理明亮方面只是简单的 abort(),很野蛮,显然这是为单进程的 node 服务的。

双11临近了,作为windows 上的 daemon 服务程序,需要定时运行一些任务。包装了 libuv 的 luv 刚好满足乎槐中这个需求,lua 方便的改变业务逻辑,并且依靠 libuv 的定时器和文件监视模块做定时逻辑。不过 libuv 的错误处理太过野蛮,用这个模块导致程序崩溃退出就得不偿失。下面给出错误处理例子,然后在线程中初始化 luv 环境。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12133269.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存