ノーローンのサイトです。
過剰 徴収 イレブン 商号 行なう 企業 受け入れ 立証 起こり サーバー 送付 機関 入りまじっ 大目 またまた 注意 会員 読み 年中 返還 グループ 影響 起こり 同じ 考え方 残っ にくい 以前 増やし

落し穴とは?/ ノーローン

[ 647] ITmedia エンタープライズ:特集:スレッドの落とし穴 (1/6)
[引用サイト]  http://www.itmedia.co.jp/enterprise/articles/0503/23/news086.html

エグゼクティブ セミナー【間違いだらけのJ-SOX 取り組むべきは経営改革】ブログで最新の話題をチェック!「オルタナティブ・ブログ」
まず、利用者の目が肥えており、時間がかかる作業を裏で行い、応答性向上を要求されるようになったこと。そしてCPUの高速化によってI/O部との処理速度差が広がり、スレッドを使うことで全体的な効率を上げられるようになったことだ。
しかし、マルチスレッドや非同期モデルといったものに対する人間の対応能力は残念ながら低く、これらを使わないプログラムよりも数段高い技能が要求される。言語研究者の間では、スレッドや非同期モデルを言語に組み込むことで敷居を下げる試みも行われているが、今日現在広く利用できる言語にそのような機能は含まれていない。
筆者は昨今いくつかのプロジェクトを見てきて、その影響範囲や危険性を深く利用しないままスレッドを使うことで、大きな問題を抱えてしまうケースを目にする。スレッドは、作って実行するのは非常に簡単だが、その裏にあるリスクを理解しないまま多用すると、プロジェクトの崩壊をも招きかねないという、諸刃の剣である。
本記事ではよく利用されるようなシンプルなケースを用いて、その裏に潜むリスクを分析してみよう。実際のプログラミングでは、すべてがここで挙げるほどきちんと考える必要があるとは思っていない。しかし、危険なものを扱っているという心構えを持ち、より注意深いプログラミングを心がけるためにも、ぜひご一読いただきたい。
スレッド同期の例題として、最初にアクセスされた時にオブジェクトを生成し、以後同じものを返す、という、いわゆるシングルインスタンスのロジックを考えてみる。
このコードは、いくつかの問題を含んでいる。読み進む前に、自分であればどのようなコードを書くかを少し考えてみてほしい。
C++においては、すべてのグローバル変数やクラスの静的変数がプログラムのロード時に初期化される。C++で同様なコードを書くと、このコードを使う、使わないにかかわらずロード時に初期化が実行されてしまう。このため、起動速度に影響する場合がある。
一方、.NETにおいては、クラスの静的変数はそのクラスが参照された時点で初期化される。このクラスをリンクしていても、コード中でクラスが参照されるまで実行は行われない。
シングルインスタンスはそのクラスの最初の参照で利用されることが多いため、このコードでも実はほとんど差がないことが多いのだ。
ほとんどは、と前述したが、やはりそれでは足りない場合もあり得る。特定のデバイスなどの物理リソースを確保してしまうクラスなど、型の参照時ではなく、明示的にメソッドが呼ばれた時に初期化したい場合がある。
民間からCIOとして長崎県庁に入り、8年目。「電子自治体化にかかるコストを大幅に削減せよ」というミッションを与えられ奮闘中だが、自らの経験をもとに、コスト削減に必要な「視点」について考えてみた。
プロシークは求職者を対象に実施したアンケート結果を発表した。コンサルタント、IT、クリエイティブ関連の求職者の50%以上がスカウトを活用していることが分かった。
アプリケーションに見るトラステッド・コンピューティング:ノートPCのデータを絶対に漏えいさせないために
FOOキャンプで産声を上げたchumbyは、これまでの情報端末の姿を変える可能性を秘めている。何より、開発元がハッキングを推奨するといういい意味でGeekのためのデバイスとなっているのが素晴らしい。
1年前に投稿されたこの記事。「来年の今ごろになれば、Web2.0などは過去の出来事の1つに成り果てている可能性すらある」と述べられているが、現状と併せて読み進めてみると、幾分の真実が含まれている。

 

戻る

ノーローンのサイトです。

ノーローンのサイトです。