自己将libevent的基本功能实现的地方差不多看了几次, 其实最初写这些博客的时候还是有好些地方没有理解透彻, 所以写了又删掉了一些. 最终感觉大致还是讲清楚才决定用于分享, 在看源码的时候真的有时会很痛苦, 主要里面很多的逻辑关联以及函数之间的关联.

最开始看的时候根本摸不到头脑, 网上都是分析event.h开始的, 但是我看了很久也没有搞明白里面几个结构的关系, 都是后面画了一些结构以及调用过程才得以明白. 虽然源码中的http等并没有看, 但是能够明白其中的关联现在对于我来说已经很不错了.

整个libevent总共分析了event, event_base, 信号. 并没有分析时间(对时间并不是有把握), 缓冲区(我想之后分析完会继续增加)以及还有一些其他部分.

01 libevent 安装

02 libevent 文件结构

03 Reactor 反应堆

04 event 结构

05 event_base 结构

06 event 初始化

07 event 注册和注销

08 event 主循环

09 event 非正常退出主循环

10 event 激活

11 evsignal_info结构

12 信号初始化

13 信号注册和激活

14 信号注销

15 IO多路复用机制之epoll

(待更新…)

libevent 目录相关推荐

  1. Libevent 学习一:Libevent 源码编译

    文章目录 Libevent 学习一:Libevent 源码编译 Libevent Windows 编译 Windows 编译环境 安装 Visual Studio Community 2015 安装 ...

  2. libevent php教程,PHP环境安装libevent扩展

    一.系统及安装说明 系统:CentOS6.x_x64,libevent-2.0.21 库,libevent-0.1.0扩展. libevent-2.0.21官方下载地址https://github.c ...

  3. memcached服务器搭建(RedHat5)

    0.开始之前 这篇文档描述的是在linux环境下安装部署memcached服务 操作系统: Red Hat Enterprise Linux Server release 5.4 (Tikanga) ...

  4. php编译安装memcache,ubuntu源码编译安装memcached和php-memcache 扩展

    1.编译前,先确认gcc.make.patch等编译工具是否已安装,并可正常使用. 2.Libevent是一个异步事件处理软件函式库,以BSD许可证释出.Memcached  依赖Libevent,因 ...

  5. 移植PPP2.4.5到ARM上实现拨号

     1.内核编译的时候,看到以下关于PPP的全部要选择如下: Device Drivers--->Network device support  ---> │ │       <* ...

  6. memcached客户端_Memcached集群的使用

    基础知识 什么是Memcached Memcached简介 Memcached:是一个免费开源的.高性能的.具有分布式内存对象的缓存系统,它通过减轻数据库负载加速动态Web应用: 这个实在没什么好说的 ...

  7. linux启动中继服务器失败,Tor中继服务器在Linux里安装配置的流程

    系统平台为Fedora 8,Tor版本为tor-0.2.0.19-alpha. 第一步:下载并安装Tor 在官方网站下载最新版本的Tor,我下载的是tor-0.2.0.19-alpha.tar.gz, ...

  8. 什么是Memcached?

    Memcached简介 Memcached:是一个免费开源的.高性能的.具有分布式内存对象的缓存系统,它通过减轻数据库负载加速动态Web应用: 这个实在没什么好说的了,毕竟大家学过redis,数据库的 ...

  9. 关于pppd移植和3g功能

    转载地址:https://blog.csdn.net/wangflash/article/details/5758264 1. 内核配置支持pppd拨号: make menuconfig Device ...

最新文章

  1. 国科大UCAS胡包钢教授《信息论与机器学习》课程第二讲:信息论基础一
  2. ETSI GS MEC 015,MEP 带宽管理 API
  3. nodejs 获取get中携带的参数值
  4. Flutter 中获取地理位置[Flutter专题61]
  5. 从零开始学 Web 之 DOM(六)为元素绑定与解绑事件
  6. Linux系统vi编辑器执行命令,linux下vi编辑器命令
  7. Java操作excel工具easyExcel
  8. angular5 接口跨域请求配置
  9. hdu3666-THE MATRIX PROBLEM【差分约束,自然对数】
  10. Springboot配置通过URL访问图片(静态资源)
  11. linux用户组登录,linux用户和用户组
  12. java环境配置——配置tomcat用户
  13. matlab 求二值图像图形的面积和重心
  14. Android getReadableDatabase() 和 getWritableDatabase()
  15. Characteristics with cached values must be read-only
  16. Python正则表达式详解
  17. Fedora七年风雨路:寻访14个版本的足迹
  18. Django框架基础知识(面试题)
  19. 高等数学张宇18讲 第十七讲 三重积分、第一型曲线曲面积分
  20. C++中STL用法超详细总结

热门文章

  1. 关于佳能IR2320N网络打印机的安装域使用
  2. VS 2022新特性_Visual Studio2022新功能
  3. ENSPLAB笔记:配置VXLAN(分布式网关,BGP EVPN方式)(Part2)
  4. $random函数 【转载】
  5. 运维人员经常用的软件
  6. gitlab-ce 备份还原 迁移新系统
  7. 11期 9月期刊自荐
  8. tf.argmax()的详细用法
  9. 【浙江中控助力焦化企业打造焦炉机车全自动控制管理系统】
  10. 程序员必须开始的道路