Sobes.tech
Middle

Kas ir 'copy on write' uzvedība?

sobes.tech AI

Atbilde no AI

Šī ir atmiņas pārvaldības optimizācija PHP (un citās valodās/sistēmās), kur mainīgā vērtības kopēšana nenotiek uzreiz, bet tikai mēģinot mainīt kopiju vai oriģinālu, ja abi norāda uz to pašu atmiņas vietu. Pirms izmaiņām abas mainīgās vienkārši norāda uz to pašu datus.

<?php
$a = 'rinda'; // $a norāda uz atmiņas bloku ar rindu "rinda"
$b = $a; // $b tagad arī norāda uz to pašu atmiņas bloku, kopēšana nenotiek

// Tikai tagad, mainot $b, PHP izveido jaunu datu kopiju $b
$b .= ' mainīta';

echo $a; // Parādīs: rinda

echo $b; // Parādīs: rinda mainīta
?>