PASONATECH


[ホーム]
[最新エントリー]
[あすなろBLOG]
[あすなろNEXTBLOG]
[あすなろカウンセラーBLOG]
[インタビュー]
[スペシャルコンテンツ]
[テックスペース]


踊るプログラマ物語


前へ   次へ

大谷 弘喜

2007年07月10日

マルチスレッドは体に悪い

会社のN君は,マルチスレッドで動くとき,メソッドのローカル変数がスレッド間で共有されると思っていたりしたこともありますが,それはさておき,時々,Javaはフレームワークやデザインパターンがちゃんとしているので,マルチスレッドプログラミングは簡単だと聞いたりする事もあります。正確にはマルチスレッドでの排他制御や同期の取り方です。確かにvolatileやsynchronizedなどがあるので,Cに比べて助長な書き方をしなくてもすみます。若干,構文が簡単になるだけで,本質的な難しさは何も変わっていません。
まあ,と言ってもCよりは書きやすくなっているのは事実なので,巨大なロックで効率を無視して安全に書く事は出来ます。ロックの中で排他制御をしなくてもよいようなデータベースのアクセス(例えば数秒かかる処理)を沢山行なっていてもちゃんと動きます。つまり、効率さえ無視すれば,割と気軽に手を出す事が出来ます。素晴らしいですね。他のスレッドは数秒待って,さらに別のスレッドは数十秒待って・・・。でも効率は悪いですが,ちゃんと動きます。でも、教科書的な書き方で素晴らしいです。でも、効率は悪いです。

さて,その効率を改善しようとすると,体に悪い事が置きます。デバッグは難しいし,どこからどこまでが本当に守らないといけない領域か判断しないといけないし,シングルスレッドが恋しいし,それがダメならスレッド間の強調がない世界に戻りたいし,そして夜は更けていく。えーと、どんなにプログラミング言語が進歩しても難しいものは難しいままのこっていくと言う話です。プログラミング言語がどんなに進歩しても難しいものが簡単になる事はあまりなくって、難しさの質が変わっていくだけだったり,より本質的なものが難しいまま残っていくのかな?


前へ   次へ

最新エントリー


大谷 弘喜
2011年04月19日
AsciiのHadoop & NoSQL
大谷 弘喜
2011年04月14日
プログラマにとって椅子は命
大谷 弘喜
2011年04月12日
血圧計で血圧を測る日々
大谷 弘喜
2011年04月08日
3月分の電気代
大谷 弘喜
2011年04月05日
iPadのi文庫はとってもできる子だった

前へ

バックナンバー




ページトップ


[ホーム]
[ブログコンセプト]
[個人情報]
[著作権]


i-mobile

ITエンジニアの仕事見つかる!PASONA TECH

Copyright(C)2006-2011
Pasona Tech. inc.
All Rights Reserved.