菜鸟nginx源码剖析数据结构篇(六) 哈希表 ngx_hash_t(上)Author:Echo Chen(陈斌)Email:chenb19870707@gmail.comBlog:Blog.csdn.net/chen19870707Date:October 31h, 20141.哈希表ngx_ha...
分类:
其他好文 时间:
2014-12-03 13:58:45
阅读次数:
360
菜鸟nginx源码剖析数据结构篇(一)动态数组ngx_array_tAuthor:Echo Chen(陈斌)Email:chenb19870707@gmail.comBlog:Blog.csdn.net/chen19870707Date:October 20h, 20141.ngx_array优势和...
分类:
编程语言 时间:
2014-12-03 13:56:19
阅读次数:
297
nginx采用的是多进程模型,典型的master-worker方式,采用一个master process(监控进程,也叫做主进程)和多个woker process(工作进程)的设计方式,此外,还有1个可选的chache manager和 1 个可选的cache loader进程。...
分类:
系统相关 时间:
2014-11-18 13:32:09
阅读次数:
456
目前我的工作环境还是win,所有演示也用VS或者cygwin这些环境作为基础。
1、配置项目的附加include目,增加预定义位置集设置,编译器会把它加入include路径,比如在某个文件夹中定义一个vector(不带后缀),当我们项目中使用#include
猜想1:如果预定义位置集中所增加的不同路径中有两个相同的文件,include采用的是有歧义形式的方式,即不附带完整路径,使用的是哪个文件...
分类:
其他好文 时间:
2014-11-16 01:52:46
阅读次数:
211
共享内存是Linux下提供的最基本的进程通信方法,它通过mmap或者shmget系统调用在内存中创建了一块连续的线性地址空间,而通过munmap或者shmdt系统调用释放这块内存,使用共享内存的好处是多个进程使用同一块内存时,在任何一个进程修改了共享内存中的内容后,其它进程通过访问这段内存就能够得到内存变化。这里探讨nginx对共享内存的封装。...
分类:
其他好文 时间:
2014-11-14 17:54:49
阅读次数:
361
一、前言 最近,刚看完《STL源码剖析》,深深被实现STL库的那些的大牛们所折服。同时又感觉自己与大牛们差距之大,便萌生深入学习之意。如果仅仅只是看看《STL源码剖析》的话,又恐对STL的理解又不是非常深刻。故,打算自己动手也去实现下STL的关键组件,又思及自己水平有限,所以,就按照其源码自己重新....
分类:
其他好文 时间:
2014-11-14 15:29:23
阅读次数:
201
俗话说的好,牵牛要牵牛鼻子 驾车顶牛,处理复杂的东西,只要抓住重点,才能理清脉络,不至于深陷其中,不能自拔。对复杂的nginx而言,main函数就是“牛之鼻”,只要能理清main函数,就一定能理解其中的奥秘,下面我们就一起来研究一下nginx的main函数。...
分类:
其他好文 时间:
2014-11-12 21:16:34
阅读次数:
404
1.源代码位置头文件:http://trac.nginx.org/nginx/browser/nginx/src/core/ngx_palloc.h源文件:http://trac.nginx.org/nginx/browser/nginx/src/core/ngx_palloc.c2.数据结构定义先...
分类:
其他好文 时间:
2014-11-12 01:54:38
阅读次数:
166
今天是一年一度的光棍节,还没有女朋友的程序猿童鞋不妨new一个出来,内存管理一直是C/C++中最棘手的部分,远不止new/delete、malloc/free这么简单。随着代码量的递增,程序结构复杂度的提高。今天我们就一起研究一下以精巧著称的nginx的内存池。...
分类:
其他好文 时间:
2014-11-11 21:13:42
阅读次数:
278
自旋锁(Spinlock)是一种 Linux 内核中广泛运用的底层同步机制。自旋锁是一种工作于多处理器环境的特殊的锁,在单处理环境中自旋锁的操作被替换为空操作。当某个处理器上的内核执行线程申请自旋锁时,如果锁可用,则获得锁,然后执行临界区操作,最后释放锁;如果锁已被占用,线程并不会转入睡眠状态,而是忙等待该锁,一旦锁被释放,则第一个感知此信息的线程将获得锁。...
分类:
其他好文 时间:
2014-11-11 21:09:31
阅读次数:
316