Javaのプログラム改善で、マルチスレッドの最適化に取り組んでいる。

現在の対象プログラム、完成度は高いのだが、リクエストの件数が多い場合にプログラム内の負荷分散がうまくいっていない、という事象があった。これもログを仕込んで分かったことなのだが・・。

 

そこで参考にしているのがこれ。


増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編/結城 浩

¥4,935

Amazon.co.jp

 

スレッドは扱いが難しいとされる。上手く使えば高い効果が得られる強力なモノだが、上手くなければプログラムが煩雑になるだけで効果がなく、下手すると処理が正常に行われないという危険なモノなのだ。マルチスレッドのデザインパターンは、上手に使うための基本的なお作法、といえるだろう。

確かに、「スレッドというものの本質」が理解できていれば「ああ、そうね」で済むようなものでもある。が、うっかりミスを防ぐ意味でも有用だろう。場当たり的でもなく、特定の人の頭の中で構想されるモノでもなく、定義されたもの、ということ。つまり、組織(会社やプロジェクト)で平準化できるということで、CMMIなどのレベル3相当ってことになる。

 

最近のパソコンでもサーバーでもコア数が多いものが増えてきているのでので、マルチスレッドプログラミングも有効に働いてくれる環境されつつある。そうなると、こういうプログラムテクニックも重要になってくるのではないかな、と思っている。