@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- @IT情報マネジメント 会議室 Indexリンク
- IT戦略
- 仕事の改善
- アーキテクチャ
- プロジェクト管理
- ITインフラ
- Webマーケティング
- BPMプロフェッショナル
- 業務アプリ
- - PR -
なぜ「グローバル変数」を使っては、いけないのですか?
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-04-21 18:11
るぱんです。
(爆) お見事。(笑) | ||||||||||||||||
|
投稿日時: 2004-04-26 16:45
はにまるです。
メモリ常駐といえば、スタティック変数を忘れていました。 「スタティック変数」って言語を問わない一般的用語? スタティック変数は、スコープ制限を受けながらも、 処理がスコープ外に移っても、変数値を破棄せずに値が保持される変数です。 参照がメインのグローバル変数の代用として、関数で囲む話がありましたが、 もうちょっと具体的に行くと、 関数から値を取得する場合、その関数内部で毎回ネットワークを経由し値取得を行っていると グロバール変数で格納する場合と比べ ネットワーク負荷を掛けてしまう問題が発生し、 ネットワークが貧弱だと謙虚に障害として問題化する。 この時、スタティック変数を用いて、ネットワークを経由した値を取得を1回のみにし 以後スタティック変数から値を返す様にする。 | ||||||||||||||||
|
投稿日時: 2004-04-26 16:59
NAL-6295です。
顕著の間違い?
マルチスレッドの時は、取り扱いに注意が必要ですね。 singletonパターンはよく利用しますが。。。 | ||||||||||||||||
|
投稿日時: 2004-04-26 17:15
「すみません僕、障害ですが問題発生させて宜しいですか?」 「いや〜、その謙虚な姿勢に免じて今回は許してやるよ。」 なんて、んな、アホな! と言う事で、「顕著」が正解です。
あう!そうですね、マルチスレッドでは注意が必要ですね。 システム変数位のプロセス起動時に変動要素の無い物で無いと。 そう言えば、 同時に複数のスレッドから関数を初回参照されたら内部的にどうなるでしょうか やっぱり、Class変数もしかりで参照時は待ち行列管理されるんでしょうね。 ちょっと話は変りますが、オブジェクト指向言語でない言語では、 各マルチスレッド毎にメモリ管理をして、スレッド番号などをキーにして 参照してたのでしょうか....? 私には、とても出来ない芸当です。 | ||||||||||||||||
|
投稿日時: 2004-04-27 09:19
これ、大歩危ですね。 各ルーチンをスレッド毎にインスタンスを生成するかの様に、 言語が内部的に内部変数を独立し管理するんですよね。失敗。 [ メッセージ編集済み 編集者: はにまる 編集日時 2004-04-27 09:21 ] |