当前位置: 首页 > news >正文

【异步IO】libeventlibevlibuv的相关认识

最近在网络底层的开发,对于吞吐有一定要求,借机会,也了解了下业内常用的网络库

libevent
优点:

  1. 事件驱动,性能好
  2. 轻量级,只做网络
  3. 代码可读性好
  4. 支持跨平台(win&linux&mac)
  5. 支持io多路复用(epoll、poll、select、kqueue)
  6. 支持定时器、信号等事件
  7. 可注册事件优先级

libev
继承了libevent的优点,也改善了很多libevent中的问题。如:

  • 在libevent中,使用了很多全局变量,导致在多线程环境中不安全;
  • libevent中的事件event的数据结构囊括内容太多,包含了io、时间、信号处理,导致结构对象很大
  • 插件实现的质量不太好
  • 计时器计时不精确

在libev中对这些问题,进行了极大的改善。

libuv
由于libevent和libev对Windows平台支持性较差(不支持完全端口iocp),所以,libuv出现了。
libuv是基于libev,,并在win平台上封装了iocp。

所以根据当前的业务是有在win平台的部分,所以选择了libuv。


http://www.mrgr.cn/news/3721.html

相关文章:

  • 【uniapp】图片合成并导入base64
  • 基于RDMA技术的Mayastor解决方案
  • Ajax技术详解
  • python 将mysql转为csv、json导入到Doris数据库
  • 英国海外媒体通稿宣发:顶级媒体宣发
  • Java并发编程(19)—— CompletableFuture异步多线程
  • 【从Qwen2,Apple Intelligence Foundation,Gemma 2,Llama 3.1看大模型的性能提升之路】
  • 「Qt Widget中文示例指南」如何实现一个旋转框(二)
  • SQL - 事件
  • 力扣面试经典算法150题:跳跃游戏
  • 【JavaEE初阶】TCP协议
  • linux(arm) 双网口物理地址(phyaddr)相同
  • Python知识点:如何使用Azure SDK for Python进行Azure服务操作
  • 【自用14.6】C++俄罗斯方块-方块降落前的准备
  • Leetcode-day27-贪心算法
  • 【题目/训练】:双指针
  • tomcat相关
  • Manim动画:相机的移动(MovingCameraScene)
  • C语言 | Leetcode C语言题解之第354题俄罗斯套娃信封问题
  • Apache CloudStack Official Document 翻译节选(七)