位置: 编程技术 - 正文

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

  • 小规模纳税开专票享受季度30万纳税
  • 小规模纳税人所得税税率是5还是2.5
  • 子公司把利润给母公司怎么做账
  • 公司开普票和专票哪个好
  • 增值税超过起征点填入哪个表格
  • 政府补贴什么时候确认收入
  • 劳保费属于什么会计科目
  • 主营业务成本明细账图
  • 闲置土地归谁管理
  • 工业企业用电是收入的几倍
  • 新办企业汇算清缴流程
  • 企业盈利计提所得税么?
  • 生产车间修理用材料计入
  • 国家税务总局11号令
  • 小额贷款公司可以跨区域经营吗
  • 本年利润年末怎么结转到利润分配
  • 一般企业的会计原始凭证有哪些类型
  • 准备金税前扣除什么意思
  • 现金短缺或溢余的账务处理业务题
  • 研发支出的台账由谁做
  • 农村合作社收到奖金分录
  • 哪些项目可以在城镇开发边界外
  • 非流动负债怎么巧记
  • ghost读不出硬盘
  • 坏账计提方法和比例
  • 国家信用信息公司系公示
  • 投资新公司的账务处理
  • 微信获取用户id失败如何解决
  • 房地产企业哪些成本上升了
  • 存放同业属于什么业务
  • u盘格式化技巧
  • 股票溢价发行是什么意思
  • PHP:iconv_strpos()的用法_iconv函数
  • 将款项汇往外地采购专用账户会计分录
  • 在途物资属于什么存货
  • laravel 5.1下php artisan migrate的使用注意事项总结
  • thinkphp5框架介绍
  • 浅谈人工智能时代财务会计向管理会计的转型
  • 劳务派遣开具发票
  • 成本票和费用票一样吗
  • wordpress限制邮箱注册
  • 税费减免政策2020
  • 工会经费计提按应付职工薪酬借方还是贷方?
  • day15-Servlet04
  • 网红产品的推广文案
  • 怎样根据税负率计算税额
  • 税金及附加里面包含什么
  • 家具工厂生产
  • 盈余公积的会计科目
  • 其他债权投资如何计提减值
  • 哪些地方中国没有收复
  • 网络服务费计入什么费用
  • 贷款损失准备核销
  • 小规模购买税控盘分录怎么写
  • 财务会计属于什么职位类别
  • sqlserver全文索引
  • win7系统调亮度怎么调
  • win7开始菜单在哪个文件夹
  • rpm包安装位置
  • linux登录提示
  • linux文件后缀名解释
  • linux系统怎么共享
  • NJeeves.exe - NJeeves进程文件是什么意思 有什么用
  • linux双网卡绑定原理
  • linux如何结束正在运行的进程
  • win10隐藏图标不显示
  • win8系统恢复
  • javascript中的数字型可以用来保存整数或浮点数(小数)
  • nodejs初始化
  • css控制图片大小和宽度
  • 样式的使用方法
  • 网页收集数据
  • linux监控cpu使用率脚本
  • jquery动效
  • activity怎么用
  • nodejs web服务器
  • shell语言的特点
  • javascript 对象的this指向
  • 新都税务局咨询电话号码
  • weverse登录不了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设