Maison  >  Article  >  développement back-end  >  Que signifie Copier en écriture en PHP ?

Que signifie Copier en écriture en PHP ?

coldplay.xixi
coldplay.xixioriginal
2020-07-01 16:17:193085parcourir

Copier en écriture en PHP signifie que lors de l'affectation de variables à des variables, ces variables de même valeur pointent vers la même mémoire Uniquement lorsque celles-ci pointent vers la même valeur de la même mémoire, et l'une des variables Variable. la séparation n'est requise que lorsque la valeur d'une variable change.

Que signifie Copier en écriture en PHP ?

Copie sur écriture en PHP signifie :

写时复制 (Copie sur écriture, également abrégé en COW), comme son nom l'indique, il copie en fait une copie de la mémoire pour la modifier lors de l'écriture. COW a d'abord été utilisé dans les systèmes *nix pour optimiser l'utilisation des threads et de la mémoire, puis a été largement utilisé dans divers langages de programmation, tels que STL de C++, etc.

Dans le noyau PHP, COW est également la principale méthode d'optimisation de la mémoire. Dans la discussion précédente sur les variables et la mémoire, le comptage de références joue un rôle crucial dans l'identification de la destruction et du recyclage des variables. Le but du comptage de références est de permettre à COW de fonctionner normalement, obtenant ainsi une utilisation optimale de la mémoire.

Avantages de la copie sur écriture :

est que lors de l'attribution d'une valeur à une variable, elle ne s'applique pas à une nouvelle mémoire pour stocker la valeur enregistrée par le nouvelle variable, mais simplement La mémoire est partagée via un compteur. Ce n'est que lorsque la valeur de la variable pointée par l'une des références change qu'un nouvel espace est alloué pour enregistrer le contenu de la valeur afin de réduire l'utilisation de la mémoire.

Du point de vue de la structure de données de base sous-jacente de PHP

ref_count et is_ref sont définis dans la structure zval

is_ref identifie si l'utilisateur utilise & comme obligatoire ; reference ;

ref_count est un décompte de références, utilisé pour identifier le nombre de variables par lesquelles ce zval est référencé, c'est-à-dire une référence automatique copiée lors de l'écriture. Lorsqu'il est égal à 0, il sera détruit.

Recommandations d'apprentissage associées : Programmation PHP de l'entrée à la maîtrise

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn