libuv

跨平台异步 IO 库
授权协议 MIT
开发语言 C/C++ JavaScript
所属分类 程序开发、 高性能网络开发库
软件类型 开源软件
地区 不详
投 递 者 王成化
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

libuv 是 Node 的新跨平台抽象层,用于抽象 Windows 的 IOCP 及 Unix 的 libev。作者打算在这个库的包含所有平台的差异性。

特性:

  • 非阻塞 TCP 套接字

  • 非阻塞命名管道

  • UDP

  • 定时器

  • 子进程生成

  • 通过 uv_getaddrinfo 实现异步 DNS

  • 异步文件系统 API:uv_fs_*

  • 高分辨率时间:uv_hrtime

  • 正在运行程序路径查找:uv_exepath

  • 线程池调度:uv_queue_work

  • TTY控制的ANSI转义代码: uv_tty_t

  • 文件系统事件现在支持 inotify, ReadDirectoryChangesW 和 kqueue。很快会支持事件端口:uv_fs_event_t

  • 进程间的 IPC 与套接字共享:uv_write2

 

已受支持的平台:

  • Microsoft Windows 操作系统,如 Windows XP SP2。使用 Visual Studio 或 MinGW 构建

  • Linux 2.6 使用 GCC 工具链

  • MacOS 使用 GCC 或 XCode 工具链

  • Solaris 121 或之后版本,使用 GCC 工具链

  • Libuv 基础 libuv 采用了 异步 (asynchronous), 事件驱动 (event-driven)的编程风格, 其主要任务是为开人员提供了一套事件循环和基于I/O(或其他活动)通知的回调函数, libuv 提供了一套核心的工具集, 例如定时器, 非阻塞网络编程的支持, 异步访问文件系统, 子进程以及其他功能. 事件循环(Event loops) 在事件编程模型中, 应用程序通常会关

  • Basics of libuv libuv强制使用异步和事件驱动的编程风格。它的核心工作是提供一个event-loop,还有基于I/O和其它事件通知的回调函数。libuv还提供了一些核心工具,例如定时器,非阻塞的网络支持,异步文件系统访问,子进程等。 Event loops 在事件驱动编程中,程序会关注每一个事件,并且对每一个事件的发生做出反应。libuv会负责将来自操作系统的事件收集起来,或者监

  • 介绍 libuv强制使用异步的,事件驱动的编程风格。它的核心工作是提供一个event-loop,还有基于I/O和其它事件通知的回调函数。libuv还提供了一些核心工具,例如定时器,非阻塞的网络支持,异步文件系统访问,子进程等。 event loop 在事件驱动编程中,程序会关注每一个事件,并且对每一个事件的发生做出反应。libuv会负责将来自操作系统的事件收集起来,或者监视其他来源的事件。这样,用

  •          Threads          等一下!为什么我们要聊线程?事件循环(event loop)不应该是用来做web编程的方法吗?(如果你对event loop, 不是很了解,可以看这里)。哦,不不。线程依旧是处理器完成任务的重要手段。线程因此有可能会派上用场,虽然会使得你不得不艰难地应对各种原始的同步问题。         线程会在内部使用,用来在执行系统调用时伪造异步的假象。l

  • libuv系列文章 【libuv高效编程】libuv学习超详细教程1——libuv的编译与安装 【libuv高效编程】libuv学习超详细教程2——libuv框架初窥 【libuv高效编程】libuv学习超详细教程3——libuv事件循环 【libuv高效编程】libuv学习超详细教程4——libuv idle空闲句柄解读 【libuv高效编程】libuv学习超详细教程5——libuv prepa

 相关资料
  • 多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。

  • 在IO编程一节中,我们已经知道,CPU的速度远远快于磁盘、网络等IO。在一个线程中,CPU执行代码的速度极快,然而,一旦遇到IO操作,如读写文件、发送网络数据时,就需要等待IO操作完成,才能继续进行下一步操作。这种情况称为同步IO。 在IO操作的过程中,当前线程被挂起,而其他需要CPU执行的代码就无法被当前线程执行了。 因为一个IO操作就阻塞了当前线程,导致其他代码无法执行,所以我们必须使用多线程

  • Linux 异步IO 编译时链接实时库,使用选项 -lrt aiocbstruct aiocb是”asynchronous I/O control block”的缩写。 struct aiocb { /* The order of these fields is implementation-dependent */ int aio_fildes;

  • 我需要在我的应用程序中为不同的标签指定不同的FontFamily。我需要使用默认字体(如Android的Roboto和iOS的Helvetica)及其修改(如轻、中、粗)。据我所知,我应该使用Roboto-Light和Helvetica-Light来获得字体的轻版本(中号和粗体相同)。除了这个需求之外,我还需要在XAML中设置字体(如文档中所描述的),所以我最终得到了以下代码 然而,在Androi

  • 作为第三代数据统计和分析平台,诸葛实现了对用户的实名(实账号)分析,并主张互联网产品分析以用户为中心的分析思想并提供了一系列方法论。对用户的唯一标识来源于企业自身数据库对用户的唯一识别符,也即诸葛底层数据采集是以用户为中心的采集,我们提供了跨平台分析版本, 满足企业以用户为中心的整体的分析需求,不同平台相同业务价值下的用户完整的故事解读(例如:分析电商的用户在PC端浏览产品,在移动端支付的转化率)

  • 说明 由于在跨端开发中,必不可少的会遇到不同端需要有不同实现的情况。参考滴滴chameleon中的多态,megalo中实现了类似的跨平台兼容方案。需要使用时,请保证@megalo/target的版本号大于或等于0.7.2。 js的跨平台兼容 megalo中下面两种形式的引用会被特殊处理: [path-to-name]/[name]/index.mpjs [path-to-name]/[name]

  • 诸葛io作为一家专注数据服务的公司,提供了开放的数据平台,您可以通过以下方式导出数据并进行二次开发: 原始数据导出; SQL查询导出:诸葛io提供了SQL查询导出功能,便于数据分析师等直接使用SQL获取数据进行分析,也可以导出结合其他数据进行分析; 查询API:诸葛io提供的查询API包括数据统计API、用户查询API、用户行为轨迹API。通过API接口,您可以将获取的数据做进一步的分析和利用。

  • 问题内容: 我想在Unix和Windows上使用特定于平台的目录。请看一下代码: 这个输出 我想第二次打电话给(windows)类似 是否可以告诉我在Windows上运行的程序使用Windows分隔符?还是应该始终将反斜杠转换 为正斜杠()?这里首选的策略是什么? 问题答案: 我看到“问题”在哪里。在golang-nuts上的讨论为我提供了提示,该提示始终使用并且是用于依赖平台的操作的函数。 在W