Sobes.tech
Middle

Mis on 'copy on write' käitumine?

sobes.tech AI

Vastus AI-lt

See on mäluhaldu optimeerimine PHP-s (ja teistes keeltes/süsteemides), kus muutuja väärtuse koopiat ei tehta kohe, vaid ainult siis, kui proovime muuta koopiat või algset, kui mõlemad viitavad samale mälukoha. Enne muutmist viitavad mõlemad muutujaid lihtsalt samadele andmetele.

<?php
$a = 'rida'; // $a viitab mälupuhvrile, kus on string "rida"
$b = $a; // $b viitab nüüd samuti samale mälupuhvrile, koopiat ei tehta

// Alles nüüd, $b muutmisel, loob PHP uue andmekopeja $b jaoks
$b .= ' muudetud';

echo $a; // Näitab: rida

echo $b; // Näitab: rida muudetud
?>