RK3568笔记六十九: 事件回调处理之Libevent 简单使用
若该文为原创文章,转载请注明原文出处。
一、前言
在项目开发过程中,事件处理使用相当多,特别是在UI处理的过程中,UI不能在非UI程里直接操作,否则会出现内存等异常,即不能在子线程里操作UI,所以用事件消息的方式通知UI线程刷新UI界面,在这一细节上掉了好多次坑。
Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。Libevent 已经被广泛的应用,作为底层的网络库;比如 memcached、 Vomit、 Nylon、 Netchat等
这里测试直接使用ubuntu测试,没有交叉编译,有在其他芯片测试,功能正常。这里不做移植测试了
二、Libevent下载和安装
1. 下载
官方网站&#