Java多執行緒編程實戰指南(設計模式篇)

Java多執行緒編程實戰指南(設計模式篇)

《Java多執行緒編程實戰指南(設計模式篇)》是2015年9月電子工業出版社出版的圖書,作者是黃文海。

基本介紹

  • 中文名:Java多執行緒編程實戰指南(設計模式篇)
  • 作者:黃文海
  • 出版社電子工業出版社
  • 出版時間:2015年9月 
  • 頁數:284 頁
  • 定價:59 元
  • 開本:16 開
  • ISBN:9787121270062
內容簡介,作者簡介,圖書目錄,

內容簡介

隨著CPU 多核時代的到來,多執行緒編程在充分利用計算資源、提高軟體服務質量方面扮演了越來越重要的角色。而解決多執行緒編程中頻繁出現的普遍問題可以借鑑設計模式所提供的現成解決方案。然而,多執行緒編程相關的設計模式書籍多採用C++作為描述語言,且書中所舉的例子多與套用開發人員的實際工作相去甚遠。《Java多執行緒編程實戰指南(設計模式篇)》採用Java(JDK1.6)語言和UML 為描述語言,並結合作者多年工作經歷的相關實戰案例,介紹了多執行緒環境下常用設計模式的來龍去脈:各個設計模式是什麼樣的及其典型的實際套用場景、實際套用時需要注意的事項以及各個模式的可復用代碼實現。
《Java多執行緒編程實戰指南(設計模式篇)》適合有一定Java 多執行緒編程基礎、經驗的讀者。

作者簡介

黃文海,2004年開始從事軟體開發工作,近幾年從事軟體項目管理工作。在其工作過程中積累了豐富的技術指導經驗和企業內部培訓經驗。曾在InfoQ中文站和IBMdeveloperWorks上發表過十幾篇技術、項目管理文章。

圖書目錄

1章 Java多執行緒編程實戰基礎 1
1.1 無處不在的執行緒 1
1.2 執行緒的創建與運行 2
1.3 執行緒的狀態與上下文切換 5
1.4 執行緒的監視 7
1.5 原子性、記憶體可見性和重排序——重新認識synchronized和volatile 10
1.6 執行緒的優勢和風險 11
1.7 多執行緒編程常用術語 13
第2章 設計模式簡介 17
2.1 設計模式及其作用 17
2.2 多執行緒設計模式簡介 20
2.3 設計模式的描述 21
第3章 Immutable Object(不可變對象)模式 23
3.1 Immutable Object模式簡介 23
3.2 Immutable Object模式的架構 25
3.3 Immutable Object模式實戰案例 27
3.4 Immutable Object模式的評價與實現考量 31
3.5 Immutable Object模式的可復用實現代碼 32
3.6 Java標準庫實例 32
3.7 相關模式 34
3.7.1 Thread Specific Storage模式(第10章) 34
3.7.2 Serial Thread Confinement模式(第11章) 34
3.8 參考資源 34
第4章 Guarded Suspension(保護性暫掛)模式 35
4.1 Guarded Suspension模式簡介 35
4.2 Guarded Suspension模式的架構 35
4.3 Guarded Suspension模式實戰案例解析 39
4.4 Guarded Suspension模式的評價與實現考量 45
4.4.1 記憶體可見性和鎖泄漏(Lock Leak) 46
4.4.2 執行緒過早被喚醒 46
4.4.3 嵌套監視器鎖死 47
4.5 Guarded Suspension模式的可復用實現代碼 50
4.6 Java標準庫實例 50
4.7 相關模式 51
4.7.1 Promise模式(第6章) 51
4.7.2 Producer-Consumer模式(第7章) 51
4.8 參考資源 51
第5章 Two-phase Termination(兩階段終止)模式 52
5.1 Two-phase Termination模式簡介 52
5.2 Two-phase Termination模式的架構 53
5.3 Two-phase Termination模式實戰案例 56
5.4 Two-phase Termination模式的評價與實現考量 63
5.4.1 執行緒停止標誌 63
5.4.2 生產者-消費者問題中的執行緒停止 64
5.4.3 隱藏而非暴露可停止的執行緒 65
5.5 Two-phase Termination模式的可復用實現代碼 65
5.6 Java標準庫實例 66
5.7 相關模式 66
5.7.1 Producer-Consumer模式(第7章) 66
5.7.2 Master-Slave模式(第12章) 66
5.8 參考資源 66
第6章 Promise(承諾)模式 67
6.1 Promise模式簡介 67
6.2 Promise模式的架構 68
6.3 Promise模式實戰案例解析 70
6.4 Promise模式的評價與實現考量 74
6.4.1 異步方法的異常處理 75
6.4.2 輪詢(Polling) 75
6.4.3 異步任務的執行 75
6.5 Promise模式的可復用實現代碼 77
6.6 Java標準庫實例 77
6.7 相關模式 78
6.7.1 Guarded Suspension模式(第4章) 78
6.7.2 Active Object模式(第8章) 78
6.7.3 Master-Slave模式(第12章) 78
6.7.4 Factory Method模式 78
6.8 參考資源 79
第7章 Producer-Consumer(生產者/消費者)模式 80
7.1 Producer-Consumer模式簡介 80
7.2 Producer-Consumer模式的架構 80
7.3 Producer-Consumer模式實戰案例解析 83
7.4 Producer-Consumer模式的評價與實現考量 87
7.4.1 通道積壓 87
7.4.2 工作竊取算法 88
7.4.3 執行緒的停止 92
7.4.4 高性能高可靠性的Producer-Consumer模式實現 92
7.5 Producer-Consumer模式的可復用實現代碼 92
7.6 Java標準庫實例 93
7.7 相關模式 93
7.7.1 Guarded Suspension模式(第4章) 93
7.7.2 Thread Pool模式(第9章) 93
7.8 參考資源 93
第8章 Active Object(主動對象)模式 94
8.1 Active Object模式簡介 94
8.2 Active Object模式的架構 95
8.3 Active Object模式實戰案例解析 98
8.4 Active Object模式的評價與實現考量 105
8.4.1 錯誤隔離 107
8.4.2 緩衝區監控 108
8.4.3 緩衝區飽和處理策略 108
8.4.4 Scheduler空閒工作者執行緒清理 109
8.5 Active Object模式的可復用實現代碼 109
8.6 Java標準庫實例 111
8.7 相關模式 112
8.7.1 Promise模式(第6章) 112
8.7.2 Producer-Consumer模式(第7章) 112
8.8 參考資源 112
第9章 Thread Pool(執行緒池)模式 113
9.1 Thread Pool模式簡介 113
9.2 Thread Pool模式的架構 114
9.3 Thread Pool模式實戰案例解析 116
9.4 Thread Pool模式的評價與實現考量 117
9.4.1 工作佇列的選擇 118
9.4.2 執行緒池大小調校 119
9.4.3 執行緒池監控 121
9.4.4 執行緒泄漏 122
9.4.5 可靠性與執行緒池飽和處理策略 122
9.4.6 死鎖 125
9.4.7 執行緒池空閒執行緒清理 126
9.5 Thread Pool模式的可復用實現代碼 127
9.6 Java標準庫實例 127
9.7 相關模式 127
9.7.1 Two-phase Termination模式(第5章) 127
9.7.2 Promise模式(第6章) 127
9.7.3 Producer-Consumer模式(第7章) 127
9.8 參考資源 128
第10章 Thread Specific Storage(執行緒特有存儲)模式 129
10.1 Thread Specific Storage模式簡介 129
10.2 Thread Specific Storage模式的架構 131
10.3 Thread Specific Storage模式實戰案例解析 133
10.4 Thread Specific Storage模式的評價與實現考量 135
10.4.1 執行緒池環境下使用Thread Specific Storage模式 138
10.4.2 記憶體泄漏與偽記憶體泄漏 139
10.5 Thread Specific Storage模式的可復用實現代碼 145
10.6 Java標準庫實例 146
10.7 相關模式 146
10.7.1 Immutable Object模式(第3章) 146
10.7.2 Proxy(代理)模式 146
10.7.3 Singleton(單例)模式 146
10.8 參考資源 147
第11章 Serial Thread Confinement(串列執行緒封閉)模式 148
11.1 Serial Thread Confinement模式簡介 148
11.2 Serial Thread Confinement模式的架構 148
11.3 Serial Thread Confinement模式實戰案例解析 151
11.4 Serial Thread Confinement模式的評價與實現考量 155
11.4.1 任務的處理結果 155
11.5 Serial Thread Confinement模式的可復用實現代碼 156
11.6 Java標準庫實例 160
11.7 相關模式 160
11.7.1 Immutable Object模式(第3章) 160
11.7.2 Promise模式(第6章) 160
11.7.3 Producer-Consumer模式(第7章) 160
11.7.4 Thread Specific Storage(執行緒特有存儲)模式 (第10章) 161
11.8 參考資源 161
第12章 Master-Slave(主僕)模式 162
12.1 Master-Slave模式簡介 162
12.2 Master-Slave模式的架構 162
12.3 Master-Slave模式實戰案例解析 164
12.4 Master-Slave模式的評價與實現考量 171
12.4.1 子任務的處理結果的收集 172
12.4.2 Slave參與者實例的負載均衡與工作竊取 173
12.4.3 可靠性與異常處理 173
12.4.4 Slave執行緒的停止 174
12.5 Master-Slave模式的可復用實現代碼 174
12.6 Java標準庫實例 186
12.7 相關模式 186
12.7.1 Two-phase Termination模式(第5章) 186
12.7.2 Promise模式(第6章) 186
12.7.3 Strategy(策略)模式 186
12.7.4 Template(模板)模式 186
12.7.5 Factory Method(工廠方法)模式 186
12.8 參考資源 187
第13章 Pipeline(流水線)模式 188
13.1 Pipeline模式簡介 188
13.2 Pipeline模式的架構 189
13.3 Pipeline模式實戰案例解析 194
13.4 Pipeline模式的評價與實現考量 208
13.4.1 Pipeline的深度 209
13.4.2 基於執行緒池的Pipe 209
13.4.3 錯誤處理 212
13.4.4 可配置的Pipeline 212
13.5 Pipeline模式的可復用實現代碼 212
13.6 Java標準庫實例 222
13.7 相關模式 222
13.7.1 Serial Thread Confinement模式(第11章) 222
13.7.2 Master-Slave模式(第12章) 222
13.7.3 Composite模式 223
13.8 參考資源 223
第14章 Half-sync/Half-async(半同步/半異步)模式 224
14.1 Half-sync/Half-async模式簡介 224
14.2 Half-sync/Half-async模式的架構 224
14.3 Half-sync/Half-async模式實戰案例解析 226
14.4 Half-sync/Half-async模式的評價與實現考量 234
14.4.1 佇列積壓 235
14.4.2 避免同步層處理過慢 235
14.5 Half-sync/Half-async模式的可復用實現代碼 236
14.6 Java標準庫實例 240
14.7 相關模式 240
14.7.1 Two-phase Termination模式(第5章) 240
14.7.2 Producer-Consumer模式(第7章) 241
14.7.3 Active Object模式(第8章) 241
14.7.4 Thread Pool模式(第9章) 241
14.8 參考資源 241
第15章 模式語言 242
15.1 模式與模式間的聯繫 242
15.2 mmutable Object(不可變對象)模式 244
15.3 Guarded Suspension(保護性暫掛)模式 244
15.4 Two-phase Termination(兩階段終止)模式 245
15.5 Promise(承諾)模式 246
15.6 Producer-Consumer(生產者/消費者)模式 247
15.7 Active Object(主動對象)模式 248
15.8 Thread Pool(執行緒池)模式 249
15.9 Thread Specific Storage(執行緒特有存儲)模式 250
15.10 Serial Thread Confinement(串列執行緒封閉)模式 251
15.11 Master-Slave(主僕)模式 252
15.12 Pipeline(流水線)模式 253
15.13 Half-sync/Half-async(半同步/半異步)模式 254
附錄 本書常用UML圖指南 255
A.1 UML簡介 255
A.2 類圖(Class Diagram) 256
A.1.1 類的屬性、方法和立體型(Stereotype) 256
A.1.2 類與類之間的關係 258
A.3 序列圖(Sequence Diagram) 261
參考文獻 263

相關詞條

熱門詞條

聯絡我們