ホームページ  >  記事  >  バックエンド開発  >  PHP におけるコピーオンライトとはどういう意味ですか?

PHP におけるコピーオンライトとはどういう意味ですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-01 16:17:193085ブラウズ

PHP のコピー オン ライトとは、変数を使用して変数に値を代入するときに、同じ値を持つこれらの変数が同じメモリを指す場合にのみ、同じメモリの同じ値を指すことを意味します。変数の分離は、変数の値が変更される場合にのみ必要です。

PHP におけるコピーオンライトとはどういう意味ですか?

PHP でのコピー オン ライトとは、次のことを意味します。

コピー オン ライト(Copy -on) -Write (COW とも略されます) は、名前が示すように、書き込み時に変更のためにメモリのコピーを実際にコピーします。 COW は、スレッドとメモリの使用量を最適化するために *nix システムで最初に使用され、その後、C の STL などのさまざまなプログラミング言語で広く使用されました。

PHP カーネルでは、COW はメイン メモリの最適化メソッドでもあります。変数とメモリに関する前述の説明では、参照カウントは変数の破棄とリサイクルにおいて重要な識別の役割を果たします。参照カウントの目的は、COW が正常に動作できるようにして、メモリを最適に使用できるようにすることです。

コピーオンライトの利点:

値を変数に代入するときに、変数によって保存された値を保存するために新しいメモリが適用されないことです。新しい変数ですが、単にメモリがカウンタを介して共有されます。参照の 1 つが指す変数の値が変更された場合にのみ、値の内容を保存するために新しい領域が割り当てられ、メモリ使用量が削減されます。

PHP の基礎となる基本データ構造から

ref_count と is_ref は zval 構造で定義されます;

is_ref は、ユーザーが & を必須参照として使用するかどうかを識別します;

ref_count は参照カウントで、この zval が参照されている変数の数、つまり書き込み時にコピーされる自動参照を識別するために使用され、0 の場合は破棄されます。

関連する学習の推奨事項: PHP プログラミングの入門から習熟まで

以上がPHP におけるコピーオンライトとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。