1 什么是libevent

首先大家思考一个问题,你的产品开发过程中,是否使用了多线程?是否加了很多线程锁??如果没有多线程,功能能否实现得了???然后我们看看一般工程师得开发方式,比如你的程序需要和串口通信,需要和TCP服务器交互,需要和其它进程通信,所以只能开3个线程去处理这些东西;好一点得工程师还能想到用线程池加负载均衡的方式,但还是多线程!为什么会这样?因为多线程是处理异步事件的一种方法,而这种方法在嵌入式上的开发是不能容忍的。那有没有一种很好的处理异步事件的开源库而且只要一个线程(主进程本身),有,其中一个就是libevent,这是一个基于3-Clause BSD的开源库!

这就是为什么前面章节我们讲解了link,因为link是基于epoll实现的异步监听,从而达到对各个描述符很好的监听作用,link是笔者自己完成编写的;而libevent是第三方开源库,更加稳定,但代码量大,有问题不好找(正常情况不会遇到),link代码量少,适合程序逻辑不是很复杂的应用。

引用百度百科的描述:Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven

嵌入式Linux系统libevent异步事件库的移植相关推荐

  1. 嵌入式Linux 系统的优化策略和方法

    嵌入式Linux 系统启动优化的那些事儿 嵌入式Linux 系统优化的那些儿事之系统启动时间的优化方法.. 嵌入式Linux 系统时间测量工具以及用法 Printk Times – 用于显示每个 pr ...

  2. 嵌入式Linux系统基础知识

    一.嵌入式Linux系统的构成 1.硬件 2.内核 3.应用程序(形成根文件系统) 二.构建嵌入式Linux系统的主要任务 1.内核部分 2.应用程序部分 嵌入式Linux的开发大致可分为三个层次:引 ...

  3. 【Linux】嵌入式Linux系统的移植(上篇:交叉编译器、连接方式)

    嵌入式Linux系统移植 嵌入式Linux系统移植是进行Linux驱动开发的基础,如果连Linux系统移植都完成不了,那就更不用说驱动开发了.因此,Linux系统移植至关重要. 嵌入式Linux系统的 ...

  4. linux复现数据库,基于嵌入式Linux系统平台并可应用于监控组态软件实时数据库的设计方案详解...

    1 引言 实时数据库(real-me database, RTDB)作为组态软件设计与实现的核心内容解决了其所 应对的现代工业生产现场环境中生产数据与控制数据类型复杂多样,数据处理与事件调度时 间约束 ...

  5. 《嵌入式Linux应用开发完全手册》——1.2 基于ARM处理器的嵌入式Linux系统

    本节书摘来自异步社区<嵌入式Linux应用开发完全手册>一书中的第1章,第1.2节,作者 韦东山,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.2 基于AR ...

  6. 嵌入式Linux系统图形及图形用户界面综述--2005-04-20博客搬家

     原地址:http://fengxupeng.bokee.com/1260734.html 本小节首先向读者描述 Linux 图形领域中常见的基础设施.之所以称为基础设施,是因为这些系统(或者函数 ...

  7. 嵌入式Linux系统图形及图形用户界面综述

    嵌入式Linux系统图形及图形用户界面综述 作者:魏永明(ymwei@minigui.org). 声明:任何人可以以任何方式复制.修改,发布或者转贴这篇文章的部分或全部内容,前提是完整保留这一版权声明 ...

  8. [zz]嵌入式Linux系统图形及图形用户界面综述

    <p>   版权所有,2001,魏永明(ymwei@minigui.org).</p> <p>1 Linux 图形领域的基础设施</p> <p&g ...

  9. 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API

    Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...

最新文章

  1. springboot-springmvc请求参数获取与原理【长文预警,收藏慢啃】
  2. 常见的计算机系统结构不包括,计算机系统结构
  3. sql远程mysql服务器查询_sql server 使用链接服务器远程查询
  4. mysql caching_Spring Caching抽象和Google Guava Cache
  5. Vue路由Hash模式分析
  6. 以下构成python循环结构的方法中正确的是_python教程:python循环结构
  7. C#牛人要具备的知识
  8. 基于Android的家庭财务管理流程图,基于android的个人财务管理系统的设计与实现.pdf...
  9. VS离线安装NuGet包
  10. 台式计算机拆卸步骤,拆卸和组装台式计算机主机的说明步骤
  11. vue项目-添加商品的多规格
  12. Python小记~索引字典
  13. 如何将nc文件转化为txt格式
  14. 2022年素材网完整源码+带后台管理
  15. 计算机基本原理——CPU的结构与原理
  16. iphone刷基带_基带有什么用?iPhone手机基带查询方法
  17. 将一元人民币兑换成1分、2分、5分,有几种兑换办法?
  18. 大学生生涯人物访谈(程序员篇)
  19. STM32CubeIDE开发(三十一), stm32人工智能开发应用实践(Cube.AI).篇一
  20. pdf转ppt在线转换

热门文章

  1. 家庭媒体中心解决方案(五、 群晖系列nas基本功能使用指南篇3-网络记事本和远程监控)
  2. 小米十周年,雷军做了一场 4 小时的走心演讲(实录)
  3. Mysql 用户密码遗忘后,重新设置密码
  4. 在Outlook 2010中查看您的Google日历
  5. 原生小程序小话题——按需载入、占位组件、骨架屏
  6. 关于手机蓝牙打开后,其他手机设备搜不到问题
  7. graphpad两组t检验_手把手教你用 GraphPad 做配对样本 t 检验
  8. 青岛大学附属医院辛海燕:打造空间分离、服务一体的多院区信息化建设
  9. 计算路由器更新之后的路由表
  10. label for标签的作用