本博客(http://blog.youkuaiyun.com/livelylittlefish )贴出作者(阿波)相关研究、学习内容所做的笔记,欢迎广大朋友指正!
Content
0. 序
1. 队列结构
2. 队列操作
2.1 在头节点之后插入
2.2 在尾节点之后插入
2.3 删除节点
2.4 分割队列
2.5 链接队列
2.6 获取中间节点
2.7 队列排序
2.8 如何获取队列节点数据
3. 一个例子
3.1代码
3.2如何编译
3.3 运行结果
4.小结
0. 序
本文继续介绍nginx的数据结构——队列。
链表实现文件:文件:./src/core/ngx_queue.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。
1.队列结构
nginx的队列是由具有头节点的双向循环链表实现的,每一个节点结构为ngx_queue_t,定义如下。
typedef struct ngx_queue_s ngx_queue_t;
struct ngx_queue_s { //队列结构
ngx_queue_t *prev;
ngx_queue_t *next;
};
其中,sizeof(ngx_queue_t)=8。
从队列结构定义可以看出,