読者の声

『Java言語で学ぶデザインパターン入門』
マルチスレッド編
(現在は、レビューアからの感想)

結城浩

目次

はじめに

このページでは、 『Java言語で学ぶデザインパターン入門 マルチスレッド編』 レビューアのみなさんから および読者の方から寄せられた感想ご紹介しています。

みなさま、ありがとうございます。

Javaプログラムのセンスが磨かれて

『Java言語で学ぶデザインパターン入門 マルチスレッド編』やり終えての感想は一言でいって「一皮むけた」です。 本書中の、骨のあるサンプルコードを読み、解読し、自分でプログラムしていくうちに、 知らず知らずのうちにJavaプログラムのセンスが磨かれていったと思います。 自分であるアプリケーションを作るに際しても、再利用のことを考えて、インターフェースや抽象クラスを効果的に設計段階で定義し、 その上でマルチスレッドにするのがいいのか、するなら、どのパターンを使用するのがいいのか、 といった構想が自然に浮かぶようになっていました。 自分でも驚きです。 私にとってこの本はかなり難しく、終えるまでに3ヶ月半を要しましたが、不思議と途中であきらめる気はおきませんでした。 それも、結城先生による、UML図を含めたとても懇切丁寧は説明があったからだと思います。 また、本書を終えて、身についたこととして「非常に粘り強くなった」ということです。 引き続き、 『増補改訂版Java言語で学ぶデザインパターン入門』も頑張っていきたいと思います!!

サンプルプログラムがスムーズに読めるようになってきて…

どのパターンの説明においても、最初、分かりやすい例で導入をし、 理解しやすいサンプルプログラムがあり、最後に、いろんな角度から考察が加えられていますね。 最近は、Javaの力も少しずつついてきたのか、 サンプルプログラムがスムーズに読めるようになってきました。 そしてその後の考察を読むのが楽しみになってきています。

推理小説を読んでいるときのワクワク感

ずいぶん複雑ですが、面白いです。ますます、デザインパターン、マルチスレッド、 Javaの魅力に引き込まれそうです。 今回もとても興味深く読ませて頂きました。推理小説を読んでいるときの、 あのワクワクした気持ちになってしまいました(^^)。

無名インナークラスの有効性を確認

以前は、無名インナークラスが分かりにくいと感じていたので、 使わないような方向でやっていたのですが、 こうやって対比して考えると無名インナークラスの有効性が確認できて良いですね。

練習問題でJavaのプログラミングスキルもアップ

毎回考えられた練習問題になっていると感心します。 特に、練習問題を解いていくと、パターンだけではなく、Javaのプログラミングスキルが 確実にアップしていくようになっていますね。 Swingなんかも扱ったりして、良いと思います。 「マルチスレッドデザインパターンで学ぶJava言語」って感じがしますね。

Swingの理解

これまで、SwingのactionPerformed メソッドは誰が実行するんだろう、 という漠然とした疑問は抱いていたのですが、 それほど、真剣に考えたことはありませんでした。 今考えてみると、もっと考えて然るべき問題だったのですね。 勉強になりました。

定期的記事

こういう一種の(定期的に記事が 送られてくるという点においてのみですが)メールマガジンのように 読めると、個々の項目をちゃんと読むので個人的には非常にありがたい なぁと感じています。 本だとななめ読みで終わらせてしまうことが多いので・・・ そういう点でも今回レビューワをさせていただいて感謝しております。

ネットワーク系の題材もいい

問題(Futureパターンの適用)がよいです。 問題もよいですが、題材(ブラウザっぽいの)が個人的に好みです。 Thread-Per-MessageのMiniサーバーの例もかなりよかったですが、 こういうの(ネットワーク系?)いいですね。

非同期処理の理解

「非同期処理」という概念は (私にとっては) 始めはとても理解 しづらい概念でしたが、このように図ではっきりとした形で見ると とても分かりやすく、かつ当り前 (?) の概念なのだと思いました。

Commandパターンの理解も

前著「Java 言語で学ぶデザインパターン入門」を読んだ時、 Commandパターンのありがた味が今一つ掴めなかったのですが、 このサンプルプログラムを見て、その強力さがありありと実感できました。

かなり興奮しました

この「invoke と execute の分離」の話題、 はっきり云ってかなり興奮しました。 まさに目から鱗が落ちました。 マルチスレッドとしてこの2つの概念の分離を学ばなければ、 恐らく私などはほとんど理解できなかったと思います。 特に「分散処理への道」の部分、面白いを通り越して 驚きでした。

職場でちょっとしたご意見番的な存在になり

結城さんの原稿のレビューを始めて以来、 マルチスレッドの考え方が理解出来始め、 職場でちょっとしたご意見番的な存在になり、 とっても嬉しい日々を送っております。 上司にも少し認めてもらい、 新規開拓プロジェクトに参加させてもらえるようになりました。 本当にこのレビューに参加して良かったと思っております。 感謝です!!

復習しなおそっと

結構ハイペースでちょっと疲れ気味だけど、あと4つということで、 がんばります。 このマルチスレッドのレビューが終わったら、 まずは、前の本でデザインパターンをまじめに復習しなおそっと。(^^) GoF本も買ってきたし。結城さんの本と見比べながら勉強させてもらいます。

目からうろこ

この例題はすばらしい。 目からうろこかもしれません。というのも「javaはポインタがない」という訳の わからない(笑)前提を覆すものですからです。 javaでもオブジェクトの参照(ポインタ)を扱うわけでいくらでも値を書き換える 事が可能である実証ですから。 スレッドとは直接関係がないかも知れませんが、たいへん重要な事ですので是非 このまま書籍になることを切に願います。 全体的にココで記述されている例題はかなり練られている印象を覚えました。 読んでいて「そうそう」と納得できる点が多かったです。

業務にプラスになっている

最近、業務のほうでマルチスレッドプログラミングをする ことが多くなったので、結城さんのメールは非常にプラスになってます。 ありがとうございます。

イラストがなごみます

人のイラストががかわいくて良いです☆ こういうイラストが出てくると心が 和みます。人とありますが、モンスターとかゴーストと呼びたいです。

例が身近

Producer-Consumerパターンは、例が身近で分かりやすかったです。

パターンを付け加えていく過程が面白い

問題、とても面白かったです。 Thread-Per-Message パターンから始まり、これに Single Threaded Executionパターン、 Balking パターンを付け加えて行く 過程がとっても楽しかったです。

これこそがスレッドだ

この問題、Thread-Per-Message の威力 (というよりはスレッド自体の威力?) をまざまざとみることが出来る、とっても良い問題だと思いました。 「これこそがスレッドだ・・・」 と思い知らされました ^^;)。

イベント機構の理解

JDK1.0のときのイベントの機構が、JDK1.2(Java2)から変わってしまって、 面食らったことが、あります。 あのときは、ほんとにこんな機構が必要なのかと戸惑ったことがあります。 いまでも、ちょっと思っていますが・・・・。 しかし、これを読んでみると、そんなでもないかな、と思ってきました。

GoFのパターンとの関連

GoFのパターンがこういう所で絡んでくるのかぁ、 面白いなぁ、と思いました。

スレッドがよく理解

僕のスレッドに対する知識がいかにでたらめであったかを、 この章で早くも分からせて頂きました。 正直なところ、スレッドプログラミングをするときに、(これまでまともなスレッド プログラムを組んだことがないのも原因の一つではありますが)何をスレッドにする のかがいまいち不鮮明でした。 この章を読んで、スレッドと、スレッドが使用するオブジェクトの区別、また、 ガードをしなくてはならないメソッド、しなくても良いメソッドの区別がとても良く理解できました。 初めてスレッドのプログラムを組む人にとっては、 そこら辺の区別がとてもあいまいになりがちなので、これぐらい丁寧に説明していただけると、 とても良く理解できると思います。 練習問題も、理解を深めるのに適した良い問題だと思いました。

仕事の疲れも忘れて

会社から帰って来て、ちょっと疲れ気味だったのですが、 その疲れも忘れて、読み耽ってしまいました。

図がわかりやすい

図が非常にわかりやすいです.特にロックの図が直感的でいいです.

とても勉強になっています

私の場合は、たいしたコメントもできないのに、 いち早く良書の内容を知ることができてとても勉強になっています。 また、「レビューア」という立場に身を置くことで、 モチベーションもキープできて良い感じです。

更新履歴

豊かな人生のための四つの法則