码迷,mamicode.com
首页 > 其他好文 > 详细

Libevent

时间:2018-08-08 23:42:12      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:sig   关于   设置   有关   一个   默认的配置   好的   new   默认   

唉,libevent中到处都是回调函数,还好我之前稍微了解了一点。

日志,锁,条件变量,这些都是可以通过设置回调函数来进行设置的。

整个运行环境是在event_base的环境下,在1.4以前的版本,是一个全局的event_base,是通过event_init来构建出来的。到了后来的2.0版本,需要通过event_base_new函数来进行构建。

默认的配置参数一般都可以了,如果需要,可以通过event_base_confg_new来创建一个环境,然后用这个环境来构建这个event_base,记得要释放这个环境哦;

接下来就是event了,event是有状态的,刚刚创建好的是初始化状态,然后加入到event_base中的状态就是未决状态(有没有感觉和信号的未决状态很像),然后event被激活,就变了激活状态,然后默认就变成了非未决态,如果需要再次变成未决态,需要再次添加才能变成未决态。有一种方式,设置属性为EV_PERSIST,就永久的变成了未决态。需要调用event_del来主动删除才可以。

出了用event_new来构建一个event对象,还可以使用event_assign来构建event对象,两者的区别是,前者实用malloc出来的空间来构建,后者是使用栈上的空间来构建对象。

关于超时的监控,使用的是相对时间,而不是绝对时间。如果写错了,那是等不到事情发生的。

还有一些非常好用的辅助类,来屏蔽不同操作系统带来的差别。、

接下来的一个部件就是有关存储的了。抽象出来就是eventbuffer。

 

Libevent

标签:sig   关于   设置   有关   一个   默认的配置   好的   new   默认   

原文地址:https://www.cnblogs.com/randyniu/p/9446379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!