进程-共享内存

Swoole

Swoole 本身也是个多进程模型。有多个 worker 进程和 master 进程。

共享内存

由于进程之间的变量时不能相互通用的。所以应该怎样实现进程之间的通讯呢?
操作系统中实现进程通讯的方法有多种,其中一种是共享内存(是操作系统内比较特殊的一种内存,他并不依赖于任何的进程也不属于任何进程)。

可以调用系统提供的系统函数来创建一片共享内存,并指定它的索引,通过索引,任何一个进程都可以在这片共享内存中申请内存空间并在其中存一定的值。
举例:
当子进程 1 通过索引在共享内存中分配了一片内存 a = 1 ,在子进程 2 中同样的可以访问这个变量 a,并得到它的值,也可以修改 a 的值,子进程 1 可以访问这个内存并得到这个修改后的值。这样就实现了两个进程之间的通讯。
注意:
1.共享内存不属于任何一个进程,可以通过方法被创建
2.在共享内存中分配的内存空间可以被任何进程访问,只要这个进程拥有这片共享内存的索引,也就是它的 id
3.即使进程关闭,共享内存仍然可以继续保留在操作系统当中(在操作系统中,通过命令 ipcs -m,可以查看系统中的共享内存)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值