libevent详解
文章平均质量分 88
wzgang123
Thinking more, Less Copy & Paste
展开
-
libevent高性能网络库源码分析——介绍(一)
libevent介绍libevent源代码结构libevent介绍Libevent是一个开源的轻量级高性能网络库,基于C语言编写。该网络库基于事件驱动,具有如下优点:事件驱动,基于高性能的Reactor(反应器)模型;跨平台,支持 Windows、Linux和 Mac Os; 支持多种 I/O多路复用技术 epoll、poll、dev/poll、select 和kqueue 等,对I/O多路复原创 2016-04-17 21:29:27 · 1425 阅读 · 0 评论 -
libevent高性能网络库源码分析——Reactor模式(二)
IO模型介绍Reactor模式IO模型介绍在介绍libevent的Reactor模式之前,首先介绍下IO模型的: 1、 同步阻塞IO(Blocking IO): 即传统的IO模型。当用户进程向系统发起read操作时,首先需要在内核中数据准备和内核态到用户进程的数据拷贝。当两个步骤都完成后,才会返回read结果状态,才能执行后续的数据处理操作。{ read(socket, buffer)原创 2016-04-18 20:28:47 · 3928 阅读 · 0 评论 -
libevent高性能网络库源码分析——事件(event)及其接口(三)
libevent的结构event结构event相关接口事件原创 2016-04-19 16:14:16 · 1009 阅读 · 0 评论 -
libevent高性能网络库源码分析——事件处理框架(四)
event_base结构event_base的初始化接口函数libevent中基于Reactor模式的事件处理框架对应event_base,在event在完成创建后,需要向event_base注册事件,监控事件的当前状态,当事件状态为激活状(EV_ACTIVE)时,调用回调函数执行。本文主要从以下几方面进行分析:event_base的结构,event_base的创建,事件的注册、事件分发、事件注原创 2016-04-19 22:03:46 · 5399 阅读 · 0 评论 -
libevent高性能网络库源码分析——事件循环(五)
libevent事件循环的流程事件循环源码分析libevent事件循环的流程libevent将IO事件、信号事件和定时器事件很好的结合在一起,采用了统一的事件源方式,即把信号事件也转换成IO事件,然后采用同一套IO复用机制去监听。libevent的事件循环通过event_base_loop完成,另外一个事件循环函数是event_base_dispatch,其功能上即为没有设置标志的 event_b原创 2016-04-22 00:53:04 · 1065 阅读 · 0 评论