本文主要是介绍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获取
这篇关于shmop学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!