
[ホーム]
[最新エントリー]
[あすなろBLOG]
[あすなろNEXTBLOG]
[あすなろカウンセラーBLOG]
[インタビュー]
[スペシャルコンテンツ]
[テックスペース]
|
|
次へ |
大谷 弘喜
2008年09月18日
マルチスレッドのプログラミングは難しいです。それはJavaでも同じです。幸いなことにJavaはCほど危険ではないので,整合性がとれなくなることはあってもメモリを壊すことはまだ,お目にかかったことがありません。また,Cよりもコンテキストの切り替えが予測しやすく,デッドロックになることも少ないです。
とは言ってもそれはCとの比較の上での話で,本質的にマルチスレッドで同一のオブジェクトを協調的に扱うのは難しいです。そして,問題があったときに原因の特定はもっと難しいです。ログの出力で判断できることもありますが,それだけでは分らないこともあります。基本的に僕はコードを眺めてから,頭の中でデバッグします。今のところ,これでなんとかしのげています。多分,AirOneとかマルチスケジューラという製品のスレッド制御のコードはもう追えません。まあ,追う気もないですが。それらの製品のスレッドの制御はほとんどが僕が書いたものですが,もう,理解できません。
最近はJavaでのマルチスレッド関係のバグには近づかないようにしていましたが,昨日バグが回ってきてしまいました。疲れました。こういうものは30才前後の柔軟な頭と経験と体力が必要です。
ちなみに,みんなどうやってデバッグしているんだろう?Tomcatとか割と巨大なロックがあるところもあって,うーん。
|
|
次へ |
|
|
[ホーム]
[ブログコンセプト]
[個人情報]
[著作権]
