shmop学习

第一次接触这个高级函数shmop,直接上代码应该就能看明白了

 

int shmop_open ( int $key , string $flags , int $mode , int $size )
第一个参数传入共享的内存块id,使用10进制或16进制
第二个参数传入读写标记
     'a'以只读的形式打开一个已有的共享内存碎片
     'c'以读写的形式创建,已存在相同key的内存块则直接读写打开
     'w'读写,大多数情景下使用
     'n'创建一个新的共享内存块,如果有相同key则创建失败,主要用于安全创建
第三个参数类似于对该内存块设置权限属性
第四个参数标识希望创建的内存块大小

int shmop_write ( int $shmid , string $data , int $offset )
第三个参数用于标记写的偏移坐标

string shmop_read ( int $shmid , int $start , int $count )
第二个参数为读取的偏移坐标
第三个参数为读取的内存大小

其他基本都好理解,一般在close之前记得delete一下


创建时可以使用$shm_key = ftok(__FILE__, 't'); 来获取内存块key,建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值,这个值通常使用ftok获取


 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值