博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【系统】libevent库和libev
阅读量:5042 次
发布时间:2019-06-12

本文共 676 字,大约阅读时间需要 2 分钟。

  Libevent库 是一个用C语言开发的、轻量级的开源高性能事件通知库,主要功能特点如下:

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

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

  Libevent 是一个典型的 Reactor 模型,什么是Reactor模式?

  Reactor模式首先是事件驱动的,可以处理并发服务请求,当有一个或多个并发输入源,会有一个Service Handler,有多个Request Handlers,这个Service Handler会同步的将输入的请求(Event)多路复用的分发给相应的Request Handler。原理图如下:

 

所有的事件处理都会经过中间的Service Handler,然后Service Handler会将各个事件分发到具体的Request Handler去处理。

 

Libevent官网地址:

 

Libevent版本目前有两种,1.4系列和2.0系列这两个稳定版本。1.4系统比较老,比较适合学习,2.0系统比较新,建议使用。

  

  

 

转载于:https://www.cnblogs.com/songgj/p/9685345.html

你可能感兴趣的文章
时间>金钱
查看>>
元数据元素
查看>>
Visual Studio Code 构建C/C++开发环境
查看>>
web自己主动保存表单
查看>>
一个小的日常实践——高速Fibonacci数算法
查看>>
创建与删除索引
查看>>
java的基本数据类型
查看>>
机器学些技法(9)--Decision Tree
查看>>
静态页面复习--用semantic UI写一个10min首页
查看>>
在Windows下安装64位压缩包版mysql 5.7.11版本的方法
查看>>
drf权限组件
查看>>
输入月份和日期,得出是今年第几天
查看>>
利用mysqldump备份mysql
查看>>
Qt中子窗口全屏显示与退出全屏
查看>>
使用brew安装软件
查看>>
[BZOJ1083] [SCOI2005] 繁忙的都市 (kruskal)
查看>>
吴裕雄 python 机器学习——数据预处理嵌入式特征选择
查看>>
Centos6.4安装JDK
查看>>
201521123069 《Java程序设计》 第4周学习总结
查看>>
线性表的顺序存储——线性表的本质和操作
查看>>