[PHP-users 10171] Re: リソース変数の開放のタイミング
Yasuo Ohgaki
php-users@php.gr.jp
Tue, 17 Sep 2002 18:24:50 +0900
大垣です。
長くて、斜め読みですがすぐ判るところだけコメントします。
桝形 誠二 wrote:
> PHPのリソース変数の開放のタイミングについて色々と調べているの
> ですが、少々分からない事があり質問させてもらいます。
>
> 明示的にmysql_close処理を行わない方が、若干ですが処理速度が
> 向上したという結果から、実際にソースコードを確認してみました。
リソースが削除されるのは参照数が0になった時、またはスクリプトが
終了しリソースが必要なくなった時です。
# デストラクタというより、ガーベッジコレクタと言った方が
# よいです。
明示的にリソースを解放しない場合はHTTPコネクション切断後、つまり
リクエストシャットダウン時に解放されます。
明示的にリソースを解放した場合、HTTPコネクションがある状態、つま
りユーザーにページを送っている最中にリソースを解放する事になります。
このため、PHPプログラミング(とくにWebプログラミング)ではリソース
は明示的に解放しない方が良いです。例外は、多くのメモリなどを消費する
場合で、スクリプト実行中に解放した方が良い場合などです。
--
Yasuo Ohgaki