libevent源码剖析之一(libevent亮点)

  前言

  Libevent 可能大家都可能听说过,可是大家知道内部的实现细节吗?咱们就来开几篇文章来讲讲libevent源码。本文只是简单的介绍下libevent的优点。

  亮点

  libevent有几个明显的优点:

  事件驱动(event-driven),高性能;注册事件分优先级;支持 I/O,定时器和信号等事件信息;跨平台,支持多操作系统,例如:Linux,Windows,Mac;源代码比较易懂,易读;轻量级,专注于网络,不如 ACE 那么臃肿巨大;支持多种I/O复用,poll,select,epoll等等。

  Libevent 已经被广泛的应用,作为底层的网络库;比如 Netchat、Vomit、Nylon、memcached等等。

  学习好处

  学习 libevent 有助于提升程序设计功力,除了网络程序设计方面外, Libevent 的代码里有很多有用的设计技巧和基础数据结构,比如信息隐藏、函数指针、 c 语言的多态支持、链表和堆等等,都有助于提升自身的程序功力。

  程序设计不止要了解框架,很多细节之处恰恰也是事关整个系统成败的关键。只对libevent 本身的框架大概了解,那或许仅仅是一知半解,不深入代码分析,就难以了解其设计的精巧之处,也就难以为自己所用。

  事实上 Libevent 本身就是一个典型的 Reactor 模型,理解 Reactor 模式是理解 libevent的基石;因此下一节将介绍典型的事件驱动设计模式——Reactor 模式。

  好了,本文就到这里了。以后的文章我尽量简短扼要,欢迎提建议!

  本文原创,转载标明出处。

全部评论
感谢分享
点赞 回复 分享
发布于 2021-12-21 10:30

相关推荐

找不到工作死了算了:没事的,雨英,hr肯主动告知结果已经超越大部分hr了
点赞 评论 收藏
分享
11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
头像
11-27 14:28
长沙理工大学
刷算法真的是提升代码能力最快的方法吗? 刷算法真的是提升代码能力最快的方法吗?
牛牛不会牛泪:看你想提升什么,代码能力太宽泛了,是想提升算法能力还是工程能力? 工程能力做项目找实习,算法也分数据结构算法题和深度学习之类算法
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务