摘要: Events have similar lifecycles. Once you call a Libevent function to set up an event and associate it with an event base, it becomes initialized. At t 阅读全文
posted @ 2016-07-04 20:35 恋恋风辰 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: Setting up a default event_base The event_base_new() function allocates and returns a new event base with the default settings. It examines the enviro 阅读全文
posted @ 2016-06-16 16:15 恋恋风辰 阅读(2185) 评论(0) 推荐(0) 编辑
摘要: 参考libevent官方提供的文档: http://www.wangafu.net/~nickm/libevent-book/Ref1_libsetup.html 这一篇主要翻译libevent多线程的使用接口和文档。 As you probably know if you’re writing m 阅读全文
posted @ 2016-06-14 16:41 恋恋风辰 阅读(4140) 评论(0) 推荐(0) 编辑
摘要: 近期学习了线程等待和激活的相关知识。 先介绍几个api: pthread_cond_t表示多线程的条件变量,用于控制线程等待和就绪的条件。 一:条件变量的初始化: 条件变量和互斥锁一样,都有静态动态两种创建方式, 静态方式使用PTHREAD_COND_INITIALIZER常量初始化。 pthrea 阅读全文
posted @ 2016-06-13 14:44 恋恋风辰 阅读(18570) 评论(7) 推荐(1) 编辑
摘要: libevent框架之前有做过分析,这次是谈谈如何将libevent搭建在vs工作环境下, 并且编写一个demo进行测试。测试过程中会再一次带大家分析消息是怎么传递 的。 我的libevent版本libevent-2.0.22-stable,用对应的vs命令工具进入该目录 我的是Visual Stu 阅读全文
posted @ 2016-06-03 15:46 恋恋风辰 阅读(9868) 评论(0) 推荐(0) 编辑
摘要: 最近自学libevent事件驱动库,参考的资料为libevent2.2版本以及张亮提供的《Libevent源码深度剖析》, 参考资料: http://blog.csdn.net/sparkliang/article/details/4957667 libevent好处之类的就不赘述了,libeven 阅读全文
posted @ 2016-05-29 13:51 恋恋风辰 阅读(40069) 评论(2) 推荐(1) 编辑
摘要: 对Linux环境动态库和静态库的一些基础知识做一些总结, 首先总结静态库的编译步骤。 1 先基于.cpp或者.c文件生成对应的.o文件 2将几个.o文件 使用ar -cr命令 生成libname.a文件 libname.a 为静态库, name 为静态库的名字, 可以根据模块功能命名。 举个例子 在 阅读全文
posted @ 2016-05-24 17:59 恋恋风辰 阅读(14044) 评论(0) 推荐(2) 编辑
摘要: epoll_event结构 epoll_data是一个联合体,有的网络库使用了fd字段,比如redis, 有的使用了u32,比如libiop,之前一直纠结epoll的工作原理 个人认为在epoll_wait之后内核会自动移动epoll_event队列的内容。 因为epoll_wait返回就绪的文件描 阅读全文
posted @ 2016-05-19 11:09 恋恋风辰 阅读(1871) 评论(0) 推荐(0) 编辑
摘要: 之前总结了redis的通讯流程,基本框架,epoll的封装等等,这次介绍下 redis对于select模型的封装 _rfds和_wfds是读写结合的副本,因为select调用后会将读写集合中未就绪的文件描述符 清除,所以每次用_rfds和_wfds传入,就不用担心原读写集合描述符被清除。 封装的基于 阅读全文
posted @ 2016-05-18 20:09 恋恋风辰 阅读(470) 评论(0) 推荐(0) 编辑
摘要: select模型支持IO多路复用,select函数如下 逐个解释每个参数意义: nfds:一个整型变量,表示比最大文件描述符+1 readfds: 这个集合监测读事件的描述符,将要监听 读事件的文件描述符放入readfds中,通过调用select, readfds中将没有就绪的读事件文件描述符清除, 阅读全文
posted @ 2016-05-18 17:43 恋恋风辰 阅读(2494) 评论(5) 推荐(0) 编辑