Humanity

Edit the world by your favorite way

Java のマルチスレッドに関する本を読んだ

並行処理に限る訳ではないけど、ここに挙げた本読めば Java でそこそこ安全にマルチスレッドなプログラム書けそうな気がしてくる。 まぁ実際並行・並列処理は量書いて身につけないとしょうがないけど…

ぶっちゃけて言えば、読む前から変わらなかった意見は「並行・並列処理書くならメッセージパッシングの言語機能なりライブラリを持った言語で書くのが一番良いだろうな」だった。Go とか Scala とか Erlang とか。

まぁでも Stream API とか使えば結構カジュアルに並列処理できて便利という事が分かったので便利。 Java 8 になって Concurrency Utilities も色々強化されてるみたいなのでおさらいすると楽しそう。

Javaによる関数型プログラミング ―Java 8ラムダ式とStream

Javaによる関数型プログラミング ―Java 8ラムダ式とStream

Java仮想マシン仕様 (The Java series)

Java仮想マシン仕様 (The Java series)

  • 作者: ティムリンドホルム,フランクイェリン,Tim Lindholm,Frank Yellin,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2001/05
  • メディア: 単行本
  • 購入: 5人 クリック: 98回
  • この商品を含むブログ (35件) を見る

Java 仮想マシン仕様は飛ばし読み(ニーモニック一覧の所とか)。 並行・並列処理に関しては8章のスレッドの部分。

あと定番のやつ。 もう一度読み直したい。

Effective Java 第2版 (The Java Series)

Effective Java 第2版 (The Java Series)

Java並行処理プログラミング ―その「基盤」と「最新API」を究める―

Java並行処理プログラミング ―その「基盤」と「最新API」を究める―

ちなみに

並行性と並列性について簡潔な説明が Oracle の公式ドキュメントにあるのを見つけた。

並行性と並列性 (マルチスレッドのプログラミング)

さらに

もっと詳しく知りたい人は以下の記事が公式ドキュメントへのリンクとその内容を例を交えて分かりやすく解説してくれてらっしゃる神記事なのでどうぞ。

マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - じゅんいち☆かとうの技術日誌

関連記事