- 博客(3)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
原创 libevent源码阅读笔记——时间管理
event_base对时间的管理 libevent 中时间采用struct timeval作为时间类型,因为timeval在很多平台都支持,比如Windows、Linux。libevent接口传入到都是超时时间间隔,所以程序内部必须做转换。绝对时间=当前时间+超时时间间隔。正常情况下,系统的时间是一直递增的,所以计算后的绝对时间>当前时间。但是,用户的行为是永远难以捉摸的。
2015-02-15 14:18:35 860
原创 libevent源码阅读笔记——通用时间队列
由于libevent支持 /dev/poll, kqueue(2), event ports, POSIX select(2), Windows select(), poll(2), and epoll(4).多平台网络IO,所以根据不同平台,也定义了不同eventop对象,它们被统一放入结构体指针数组eventops[]里。 libevent运用二进制形式,区分5种事件类型。
2015-02-13 18:00:33 1268
转载 为什么libevent 放弃红黑树选择小根堆
首先什么是小根堆: (1)它是一颗完全二叉树 (2)任意一个节点均小于或等于其左右子节点的关键码(大根堆相反就是了) 因此可以得知,当前树形结构的根节点就是当前整个树形结构最小的节点。。。 至于说这种堆结构有什么作用: (1)以前本科的时候上数据结构课的时候就有讲过堆排序,好像还不错,O(nlogn)的复杂度 (2)可以用来构造优先权队列。。。。
2015-02-13 16:36:22 2734
libevent源码2.0.21稳定版
2015-02-15
在源码角度,并发访问的时候memcached会丢连接吗
2015-04-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人