Swoole源码学习记录(一)——进程间共享数据ShareMemory 和 MemoryPool

本文是作者学习Swoole源码的第一篇记录,主要探讨了Swoole如何实现进程间共享数据,通过分析`swShareMemory_mmap_create`和`swShareMemory_sysv_create`方法,讲解了Swoole在1.7.4-stable版本中使用内存映射文件和sysv共享内存的方式。同时,提到了`MAP_ANONYMOUS`和`/dev/zero`在内存映射中的作用。文章最后预告将介绍Swoole的MemoryPool实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我接触PHP的时间不长,最开始只认为PHP是用来做网站开发,是一个比JSP要简单的语言。后来,因为工作需要,一位学长建议我使用Ngnix + PHP 搭建应用服务器,并建议使用现有的框架。一番搜索之下,我意外发现了Swoole http://www.swoole.com/ 

接下来的半年里,我一直使用Swoole扩展作为我的服务器核心。Swoole稳定而高效的性能以及优秀的架构设计使我的开发变得简单、高效。因此,我希望能够更加深入的了解Swoole的核心,学习它的架构设计,也能锻炼自己的C语言能力。

因此,我将不定期更细这一系列,将我在阅读、理解Swoole源码过程中的心得体会记录下来,也希望我的记录能帮助那些同样希望理解Swoole源码的人。本人能力有限,C语言能力也只能说刚刚入门,难免会有误解的地方,希望大家能及时指正。

 ———————————— 正文分割线 —————————————

swoole版本:1.7.4-stable

Github地址:https://github.com/LinkedDestiny/swoole-src-analysis

Swoole没有采用多线程模型而是使用的多进程模型,在一定程度上减少了访问数据时加锁解锁的开销,但同时也引入了新的需求:共享内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值