11.4.2 ngx_pool_large_s结构体

时间 : 16-03-29 栏目 : nginx专题 作者 : 老薛 评论 : 0 点击 : 701 次

ngx_pool_s结构体中的*large成员指向一个链表。ngx_pool_large_s结构体的定义在/nginx/src/ core/ngx_palloc.h中可以找到:
 

    struct ngx_pool_large_s {  
        ngx_pool_large_t     *next;  
        void                 *alloc;  
    };  

该链表的实现非常简单,我们主要说明一下Nginx程序为什么要使用这样一个链表。

ngx_pool_s结构体中的max成员规定了一个内存数据块的大小。当Nginx程序向内存池申请内存时,如果申请的空间小于max大小,就申请在ngx_pool_s结构体中d的内存数据块;如果申请的空间大于max大小,就需要申请ngx_pool_s结构体中*large所指的大体积内存区。注意,ngx_pool_large_s结构体中的*alloc成员的类型为void,因此,位于大体积内存区上的数据可以是任意自定义类型。

本文标签

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/nginx-2/1553.html

11.4.2 ngx_pool_large_s结构体:等您坐沙发呢!

发表评论

8 + 0 = ?


博主微信号,很高兴为您提供帮助

随便看看

0