菜鸟nginx源码剖析数据结构篇(十一) 共享内存ngx_shm_t

本文详细剖析了nginx源码中关于共享内存ngx_shm_t的数据结构,探讨了其在进程间通信中的作用和实现机制。
摘要由CSDN通过智能技术生成

菜鸟nginx源码剖析数据结构篇(十一) 共享内存ngx_shm_t

 

  • Author:Echo Chen(陈斌)

  • Email:chenb19870707@gmail.com

  • Blog:Blog.csdn.net/chen19870707

  • Date:Nov 14th, 2014

     

    1.共享内存

    共享内存是Linux下提供的最基本的进程通信方法,它通过mmap或者shmget系统调用在内存中创建了一块连续的线性地址空间,而通过munmap或者shmdt系统调用释放这块内存,使用共享内存的好处是多个进程使用同一块内存时,在任何一个进程修改了共享内存中的内容后,其它进程通过访问这段内存就能够得到内存变化。

  • 2.源代码位置

     

    头文件:http://trac.nginx.org/nginx/browser/nginx/src/core/ngx_shmtx.h

    源文件:http://trac.nginx.org/nginx/browser/nginx/src/core/ngx_shmtx.c

     

    3.数据结构定义

    ngx_shm_t : 用于描述一块共享内存:

       1: typedef struct {
         
       2:     u_char      *addr;            //指向共享内存的起始地址
       3:     size_t       size;            //共享内存的长度
       4:     ngx_str_t    name;            //这块共享内存的名称
       5:     ngx_log_t   *log;             //记录日志的ngx_log_t对象
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值