位置: 编程技术 - 正文

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批量删除文件)

  • 汇算清缴期间费用填表说明
  • 职工旅游不计入福利费
  • 增值税专用发票抵扣最新规定
  • 无住所居民个人所得税的计算
  • 税法规定的增值税
  • 资产负债表怎么填
  • 购买的固定资产什么时候折旧
  • 营业收入大于资产总计和主营业务收入之和什么原因
  • 公司买茶具计入什么费用
  • 汇算清缴补缴纳企业所得税会计分录
  • 税后是含税还是不含税的意思
  • 承租方支付租金会计科目
  • 房地产企业可以抵扣进项税额的范围
  • 已扣缴税额
  • 负数发票跨月怎么重开
  • 诉讼财产保全保险费计算
  • 免税销售额和免税额区别
  • 免税发票可以抵多少税
  • 汇算清缴后如何进行调帐处理
  • 收购粮食怎么做账
  • 19年入职19年离职
  • 进项税额加计抵减如何申报
  • 普通发票税收
  • 通讯费 个税
  • 附加税零申报怎么申报
  • 小规模财报是按年报吗
  • 研发阶段计入管理费用吗吗
  • 2019一般纳税人转小规模
  • 滴滴出行电子发票备注怎么写
  • 工商注销债务承担
  • 投资理财产品的优势和劣势
  • 公司的职工教育是指什么
  • php中数组的常用函数及用法
  • macbookpro安装dmg
  • win10点击网络属性没反应
  • 公司其他费用包括哪些费用
  • 建筑工程甲级什么意思
  • 生产企业外销收入账务处理
  • java解析xml常用方式
  • javascript基础书
  • sftp命令大全
  • 宝塔怎么做?
  • system error
  • 集团公司如何收管理费
  • 数论电子书下载
  • python的继承用法
  • 零申报年报
  • 支付给临时工的费用
  • 合营企业和联营企业都是权益法吗
  • 财政部关于印发财政专户管理办法的通知
  • 货到票未到的会计分录怎么做
  • Mysql存储过程中的如何遍历一个查询结果集
  • 退休职工能否扣医保
  • 进项抵扣项目
  • 增值税处罚条例
  • 预付账款的账务处理视频教程
  • 资本公积金转增股本是利好吿
  • 增值税达不到税负怎么办
  • 退客户多余货款怎么处理
  • 公司给员工买房子如何做账
  • 宾馆里面的牙膏收费吗
  • 收到发票税点计入什么科目
  • MySQL数据库远程登录
  • mysql多个group by
  • mysql数据库的介绍
  • mac系统小技巧
  • hotkey在哪
  • win7自动更新在哪
  • win10预览文件怎么显示内容
  • win8系统安装的软件在哪里
  • linux nodejs
  • nodejs实现文件压缩下载
  • 如何旋转图片30度
  • shell脚本调用php方法
  • unity 子弹效果 粒子
  • 深入学习习总书记系列讲话精神
  • Python中str is not callable问题详解及解决办法
  • apk反编译去广告教程
  • 出口退税备案表享受增值税优惠政策
  • 收购晾晒烟叶,支付价款20万元,支付价外补贴2万元
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设