美文网首页
[RaspberryPi] libuv介绍

[RaspberryPi] libuv介绍

作者: Cocoonshu | 来源:发表于2019-12-06 11:05 被阅读0次

今天意外在树莓派的include目录中翻到了一个叫做uv.h的头文件,甚是好奇,这又是什么神仙库?遂查阅之,大惊,确为神仙库啊!!!

占坑

https://github.com/libuv/libuv
https://github.com/Cocoonshu/Chinese-uvbook

什么是libuv

libuv是一个跨平台的异步IO支持库,它是Node.js的核心支持库,也是Luvit, Julia, pyuv的支持库。这是什么概率?换句话说,也就是大名鼎鼎的NodeJS是使用libuv作为其核心组件来搭建编写的,这也就是为什么NodeJS的核心特性是非阻塞式IO编程模型了。

libuv本身只是的支持库框架,它提供文件、网络、线程、进程、事件循环的异步调用框架,让代码可以以非阻塞的模型来编写,一切皆回调。

基本框架

libuv支持的特性如下:

  • 基于操作系统支持的事件循环机制
    • Linux基于epoll实现
    • Windows基于IOCP实现
    • MacOS/Unix基于kqueue实现
    • freeBSD基于evports实现
  • 异步TCP/UDP通信
  • 异步DNS解析
  • 异步文件读写
  • 文件系统事件机制
  • 基于ANSI控制字符的TTY
  • IPC、管道通信
  • 多进程
  • 线程池
  • 信号量处理
  • 高分辨率时钟
  • 多线程及同步操作

Github仓库:https://github.com/libuv/libuv
以下我们就基于文件、网络、线程、进程、事件这几个点来做个简单使用介绍吧

文件

网络

多线程

多进程

事件循环

相关文章

网友评论

      本文标题:[RaspberryPi] libuv介绍

      本文链接:https://www.haomeiwen.com/subject/yqwsgctx.html