- 博客(6)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
原创 STL 源码学习笔记——vector
Vector结构定义vector所采用的数据结构非常简单:线性连续空间。它以两个迭代器start和finish分 别 指 向 配 置 得 来 的 连 续 空 间中 目 前 已 被 使 用 的 范 围 , 并 以 迭 代 器end_of_storage指向整块连续空间(含备用空间)的尾端:template <class T, classAlloc = alloc> class vector{ ..
2015-07-09 10:33:02 605
原创 nginx源码学习——Http连接对应的事件驱动模块
事件驱动函数事件驱动是nginx设计的核心,linux平台下,nginx会优先使用epoll进行事件处理。main—>master_process_cycle—>ngx_start_worker_process—>ngx_worker_process_cycle—>ngx_worker_process_init,ngx_process_events_and_timers。master进程中创建wor
2015-07-08 15:09:50 692
原创 nginx 源码学习——处理stale event
处理stale event添加到epoll后,worker进程会进入ngx_epoll_process_events函数,epoll_wait等待客户端发起连接请求,触发事件。而在对读写事件进行操作时,都会出现一个instance,这个变量到底是何用意? 我们首先看看man手册关于epoll的注解:*POSSIBLE PITFALLS AND WAYS TO AVOID THEM
2015-07-06 18:06:45 848
转载 Glibc 中malloc的实现
本文转自:http://blog.csdn.net/phenics/article/details/7770531 前言C语言提供了动态内存管理功能, 在C语言中, 程序员可以使用 malloc() 和 free() 函数显式的分配和释放内存. 关于 malloc() 和free() 函数, C语言标准只是规定了它们需要实现的功能, 而没有对实现方式有什么限制, 这多少让那些追根究底的人感到有些许迷
2015-07-02 10:19:22 1802
原创 nginx源码学习——进程间通信机制
进程架构nginx作为高性能的web服务器,采用的是多进程的方式,由一个master进程和若干个worker进程组成。作为web服务器,nginx的设计从头至尾体现两个字:性能。一般推荐worker进程数和机器的CPU核数相同。这样可以最大限度提升性能。 nginx的进程间通信主要涉及三个方面:master与操作系统的通信,master和worker进程的通信,worker进程与worker进程的
2015-07-01 18:03:24 874
原创 nginx源码学习——内存池
主要数据结构struct ngx_pool_s { ngx_pool_data_t d; //内存块的头结构体 size_t max; //内存块可被使用的最大空间 ngx_pool_t *current;//刚刚被分配完的块 ngx_chain_t *chain;
2015-07-01 14:40:08 598
libevent源码2.0.21稳定版
2015-02-15
在源码角度,并发访问的时候memcached会丢连接吗
2015-04-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人