位置: 编程技术 - 正文

PHP线程的内存回收问题(php cli 多线程)

编辑:rootadmin

推荐整理分享PHP线程的内存回收问题(php cli 多线程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php多线程,php7多线程,php多线程curl,php cli 多线程,php 线程 进程,php多线程,php线程池,php 线程间通信,内容如对您有帮助,希望把文章链接给更多的朋友!

当一个PHP线程结束时,当前占用的所有内存空间都会被销毁。那么如果这个线程不结束,怎么回收内存呢?

refcount:引用技术器,可以理解为指向该个容器的指针个数吧。

is_ref:是否被引用(只可能是0或者1)

赋值的流程:

引用的流程:

那如果多次引用,unset掉一个,is_ref是否会被置为零,那样bug不就出现了么?变量容器还是引用啊。那么我们来看看:

unset和赋值null都能回收变量么?很多人都错认为,这两个都能回收变量空间,其实错了,null只是把变量占用的空间变小了,从回收上来说,该容器依然存在。

总结

1. 垃圾回收的时机

PHP线程的内存回收问题(php cli 多线程)

PHP中,引用计数为0,则内存立刻释放。也就是说,不存在环状引用的变量,离开变量的作用域,内存被立刻释放。环状引用检测则是在满足一定条件下触发,所以在上面的例子中,会看到使用的内存有大幅度的波动。也可以通过 gc_collect_cycles 函数来主动进行环状引用检测。

2. &符号的影响

显式引用一个变量,会增加该内存的引用计数:

$a = "something";$b = &$a;此时unset($a), 但是仍有$b指向该内存区域的引用,内存不会释放。

3. unset函数的影响

unset只是断开一个变量到一块内存区域的连接,同时将该内存区域的引用计数-1;在上面的例子中,循环体内部,$a=new A(); unset($a);并不会将$a的引用计数减到零;

4. = null 操作的影响;

$a = null 是直接将$a 指向的数据结构置空,同时将其引用计数归0。

5. 脚本执行结束的影响

脚本执行结束,该脚本中使用的所有内存都会被释放,不论是否有引用环。

php实现批量删除挂马文件及批量替换页面内容完整实例 本文实例讲述了php实现批量删除挂马文件及批量替换页面内容的方法。分享给大家供大家参考,具体如下:php#functionality:本程序可以扫描指定目录的所

PHP编程之设置apache虚拟目录 apache虚拟目录设置方法分享,供大家参考,具体内容如下1.开启虚拟目录配置文件httpd-vhosts.conf文件路径:wampbinapacheapache2.4.9confextrahttpd-vhosts.conf将

php常用字符串输出方法分析(echo,print,printf及sprintf) 原创 本文讲述了php常用字符串输出方法。分享给大家共大家参考,具体如下:1.echo用法:可用echo直接输出,也可以用echo()输出,无返回值$string="b加粗显示文字/

标签: php cli 多线程

本文链接地址:https://www.jiuchutong.com/biancheng/297174.html 转载请保留说明!

上一篇:php实现xml与json之间的相互转换功能实例(php xml转字符串)

下一篇:php实现批量删除挂马文件及批量替换页面内容完整实例(php批量删除文件)

  • 企业所得税汇算清缴退税怎么做账
  • 进项税额转出会计分录月末如何结转
  • 六种无形资产有什么
  • 未发货先开票怎么办
  • 金税盘坏了更换需要几天
  • 房租不能开发票怎样入账
  • 一般增值税纳税人和小规模纳税人
  • 增值税逾期未申报的税务怎么处理
  • 小规模纳税人费用票怎么做账
  • 实收资本未认缴资本还用填写吗
  • 租赁的房子
  • 事业单位专项资金的管理要求
  • 建筑材料资源利用
  • 施工企业增值税纳税地点
  • 摊销房租账务处理
  • 已认证已抵扣的发票对方要寄回吗
  • 发票查验平台查询官网手机版App
  • 代收款项属于收入范围吗
  • 城建税教育费附加和地方教育费附加
  • 反向吸收合并账务处理
  • 小规模纳税人专票如何申报
  • 期货手续费会计分录
  • 自建用地是什么性质
  • deepin如何设置网络
  • thinkphp微信公众号开发
  • 销售收入的暂估入账
  • 残疾人就业保障金怎么申报
  • ibm-web-ext.xmi
  • 免税怎么开
  • 搬迁补偿费属于什么费
  • 框架如何使用
  • vuev-for循环k值的意义
  • 正版菜狗
  • 人工智能业务架构图
  • python可以制作软件吗
  • 推荐几个比较好用的
  • python dayup
  • 酒店没有营业执照开业犯法吗
  • 展会门票怎么入账
  • 固定资产出租收入属于
  • java操作mongodb数据库
  • phpcms添加内容
  • 怎么防止?
  • 对方开具红字发票,我方怎么查询
  • 企业投资收益要交增值税吗
  • 增值税和个人所得税怎么算
  • 小企业会计准则和一般企业会计准则的区别
  • 息税前利润变动率的计算公式
  • 新政府会计制度下,属于资产类科目的是
  • 残保金是应交税费吗
  • 以前年度损益调整在利润表中怎么填
  • 押金无法收回账怎么办
  • 物业公司预收的物业费怎么做账
  • 购买固定资产没收到发票怎么做账
  • 汇算清缴弥补以前年度亏损多少年
  • 给公司股东分红的账务处理
  • 弱电系统可以入户门吗
  • 会计建账的步骤
  • 工业企业的材料销售收入应计入什么
  • sql server常规错误
  • 存储过程mysql
  • Windows Server 2008禁止模块安装提升网络性能
  • 如何在ubuntu下安装和配置gcc并用C语言
  • linux 设置文件系统
  • 搜狗浏览器ie8
  • 苹果Mac系统怎么恢复出厂系统
  • nero recode
  • 微软开始推送win10
  • linux网络设备有哪些
  • linux cat命令的用法
  • linux中使用find命令查找文件
  • 一、Unity3D 5.0.1-示例项目“汽车游戏”的展示及开发准备
  • firefox允许弹出窗口
  • JavaScript中的变量名不区分大小写
  • python支持中文字符
  • python模块和包的区别
  • 轻松实现的英文
  • 安卓登录界面布局设计
  • jquery基本知识
  • 电子普通发票怎么查验真伪
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设