Javaマルチスレッド入門 並行処理の最新API対応(改訂第2版)


著者:小松正樹


著者
はじめに

第一章 Javaスレッドの問題点
1.Java Memory Model(JMM)
2.volatile修飾子
3.競合状態
4.Atomic変数
5.不変性(immutability)
6.局所性(locality、ThreadLocal)

第二章 スレッドの基本概念
1.スレッドセーフの概念
2.デザイン・アーキテクチャパターン
3.並行性と並列性の概念
4.イントリンシック・ロック(Intrinsic Lock)

第三章 Javaスレッドの実装へ
1.JVMが指定するスレッドの状態
2.排他制御:Synchronized
3.リエントラント・ロック
4.ロックのタイムアウト
5.ReentrantLockの実装
6.Synchronizedとリエントラントロックの比較
7.Synchronizers:同期の管理ツール
8.Semaphore
9.CyclicBarrier
10.Phaser
11.CountDownLatch

第四章 タスクと並行処理
1.BlockingQueueとスレッドプール
2.Executorインターフェース
3.リジェクションポリシー
4.RejectedExecutionHandler
5.Callable, Future

第五章 スレッドセーフ・コレクション
1.スレッドセーフ・キャッシュの実装

第六章 分割統治法
1.ForkJoin Framework
2.ForkJoinPool
3.ForkJoinTask
4.RecursiveAction
5.RecursiveTask
6.マージソート

第七章 ロックレス並行処理
1.Akka
2.環境設定(Akka 2.3.14)
3.STM(Software Transactional Memory)
4.STM:フォールトトレラント
5.STM:データ構造
6.Akka:アクターモデル
7.Akka:アクターモデルの基本
8.Akka:アクターモデルの実装
9.双方向のメッセージング
10.アクターパスとライフサイクル
11.アクターの照合(Identifyメッセージ)
12.アクターモデル:フォールトトレラント
13.Akka:ルーティング
14.Akka+STM
15.アクターモデルの展望

第八章 Java 8 Streamsと並列処理
1.Streamライフサイクル
2.生成ステップ
3.中間ステップ
4.終端ステップ
5.中間ステップと終端ステップ
6.並列処理の適用
7.ForkJoinフレームワークとの連携
8.Stream APIのまとめ

付録1 デザインパターン
1.Producer Consumer デザインパターン
2.Factory デザインパターン
3.Double-Check Locking デザインパターン

付録2 Java 8 ラムダ式
1.基本構文
2.ターゲットタイプ
3.引数としてのラムダ
4.関数型インターフェース(Functional Interface)

付録3 Akka 1.3.1とMultiverse
1.環境設定
2.STM(Software Transactional Memory)
3.STM:フォールトトレラント
4.STM:データ構造
5.Akka 1.3:アクターモデルの基本
6.Akka 1.3:アクターモデルの実装
7.アクターモデル:フォールトトレラント

書籍目次

Posted by shi-n