PHP中Copy on write是什么意思?-PHP问题

资源魔 27 0

PHP中Copy on write的意义是正在用变量对变量进行赋值时,这些相反值的变量指向同一块内存,只有当这些指向同一块内存的相反值,以及变量中的某一个变量的值发作扭转的时分,才需求进行变量别离。

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编程从入门到通晓

以上就是PHP中Copy on write是甚么意义?的具体内容,更多请存眷资源魔其它相干文章!

标签: php php教程 php故障解决 php使用问题 Copy on write

抱歉,评论功能暂时关闭!