[PHP-users 32348] Re: スレッドとstatic変数の関係について

Eiji Miwa miwa @ offside.ne.jp
2007年 6月 29日 (金) 10:57:13 JST


 ミワです。

On 2007/06/29, at 2:13, 長谷川 明彦 wrote:
>
> a).多重同時リクエストがあった場合のstatic変数の値は、
>     リクエスト(スレッド)間で干渉する事は絶対にありえない。
>     (今回の例で言うと、ブラウザAの出力結果が
>     「static変数=requestB」になる事はないという事 
> です。)

 プロセス間で干渉する事は絶対にありえません。
 なぜセッション関数があるのかを考えてみてください。
 http://jp.php.net/manual/ja/ref.session.php

> b).static変数は、リクエスト内で共有されるものである。
>     (ということは、もう$GLOBALSは必要とされないというこ 
> とですか?)

 http://jp.php.net/manual/ja/ 
language.variables.scope.php#language.variables.scope.static
 ローカル関数スコープのみに有効なので、
 $GLOBALS の代用にはならないと思いますよ。

> c).「PHPの一部の拡張モジュールはスレッドセーフではない 
> 為・・・」
>     とマニュアルに記載されている為、?状態です。
>     ただ単に、static変数はスレッドセーフということなので 
> すか?

 ということなので、スレッドセーフ云々は関係ありません。
 拡張モジュールでもありませんので。

--
 miwa at offside.ne.jp





PHP-users メーリングリストの案内