PHP中的Copyonwrite表示什么

PHP中的Copy on write表示什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联-专业网站定制、快速模板网站建设、高性价比淳安网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式淳安网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖淳安地区。费用合理售后完善,10年实体公司更值得信赖。

PHP中Copy on write的意思是:

写时复制(Copy-on-Write,也缩写为COW),顾名思义,就是在写入时才真正复制一份内存进行修改。 COW最早应用在*nix系统中对线程与内存使用的优化,后面广泛的被使用在各种编程语言中,如C++的STL等。

在PHP内核中,COW也是主要的内存优化手段。 在前面关于变量和内存的讨论中,引用计数对变量的销毁与回收中起着至关重要的标识作用。 引用计数存在的意义,就是为了使得COW可以正常运作,从而实现对内存的优化使用。

写时复制优点:

是通过赋值的方式赋值给变量时不会申请新内存来存放新变量所保存的值,而是简单的通过一个计数器来共用内存,只有在其中的一个引用指向变量的值发生变化时才申请新空间来保存值内容以减少对内存的占用。

从PHP底层基础数据结构来看

ref_count和is_ref是定义于zval结构体中;

is_ref标识是不是用户使用 & 的强制引用;

ref_count是引用计数,用于标识此zval被多少个变量引用,即写时复制的自动引用,为0时会被销毁。

关于PHP中的Copy on write表示什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


当前名称:PHP中的Copyonwrite表示什么
当前URL:http://myzitong.com/article/jdochh.html