首页 > Web开发 > 详细

php实现共享内存进程通信函数之_sem

时间:2018-06-06 21:24:14      阅读:191      评论:0      收藏:0      [点我收藏+]

前面介绍了php实现共享内存的一个函数shmop,也应用到了项目中,不过shmop有局限性,那就是只支持字符串类型的;sem经过我的测试,是混合型,支持数组类型,可以直接存储,直接获取,少了多余的步骤格式转换。不过sem有大小限制,shmop可以设置很大很大很大~~~

<?php
$key = 0x4337b124;  
$shar_key = 1;
// 创建一个共享内存
$shm_id = shm_attach($key, 1024, 0666); // resource type
if ($shm_id === false) {
    die(Unable to create the shared memory segment . PHP_EOL);
}
//设置一个值
shm_put_var($shm_id, $shar_key, test);

//删除一个key
shm_remove_var($shm_id, $shar_key);

//获取一个值
$value = shm_get_var($shm_id,  $shar_key);
var_dump($value);

//检测一个key是否存在
var_dump(shm_has_var($shm_id,  $shar_key));

//从系统中移除
shm_remove($shm_id);

//关闭和共享内存的连接
shm_detach($shm_id);

注意:$shar_key 只能是 int 型的参数。

php实现共享内存进程通信函数之_sem

原文:https://www.cnblogs.com/wt645631686/p/9146737.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!