検索
特集

スレッドの落とし穴(6/6 ページ)

Windowsプログラマーでスレッドをいちども使ったことがない人はいないだろう。CPUのマルチコア化によって、ソースコードが上から順に実行という定説がなくなったのは久しい。このdev .NET特集では、知らぬと怖いテクニックを解説する。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

スレッドと非同期はまだ未成熟

 スレッドそのものは80年代に開発され、また非同期プログラミングも歴史がそれほど短いわけではない。しかしこれらの技術は長い間パフォーマンスを求める特定の箇所にしか使われてこなかった。

 応答速度への要求や家電との比較において、ソフトウェアに対する要求が急激に高まり、安全なコードを書く助けをするはずのOSや言語がこの分野に限っては遅れていると筆者は見ている。CPUのデュアルコア化が進み、マルチプロセッサマシンが普通に使われるようになれば、問題はさらに顕在化する。

 これに対し、OSや言語の歩みは遅い。WindowsにおいてはCOMのスレッド問題を正しく理解している人は、ほぼ居ないに等しい。マイクロソフトは、.NETによってその複雑性を解消したわけだが、言語として、あるいはWindows全体としてはまだいろいろな問題をはらんでいる。2006年のLonghornで解決へ向けた取り組みが見られるが、それでもこれから5年や10年はプログラマーの努力によって問題を解決することになるだろう。

 安易に使わない、きちんとした知識を身につける、そしてほかの部分よりも深いコードレビューといった、地道な努力が必要になる分野だ。本稿が少しでもその助けになることを願う。

前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る