注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Java多線程編程實戰(zhàn)指南:設(shè)計模式篇(第2版)

Java多線程編程實戰(zhàn)指南:設(shè)計模式篇(第2版)

Java多線程編程實戰(zhàn)指南:設(shè)計模式篇(第2版)

定 價:¥69.00

作 者: 黃文海 著
出版社: 電子工業(yè)出版社
叢編項: Java多線程編程實戰(zhàn)系列
標 簽: 暫缺

ISBN: 9787121382451 出版時間: 2020-03-01 包裝: 平裝
開本: 16開 頁數(shù): 280 字數(shù):  

內(nèi)容簡介

  隨著CPU多核時代的到來,多線程編程在充分利用計算資源、提高軟件服務(wù)質(zhì)量方面扮演了越來越重要的角色。解決多線程編程中頻繁出現(xiàn)的普遍問題可以借鑒設(shè)計模式所提供的現(xiàn)成解決方案。然而,多線程編程相關(guān)的設(shè)計模式圖書多采用C++作為描述語言,且書中所舉的例子多與應用開發(fā)人員的實際工作相去甚遠。《Java多線程編程實戰(zhàn)指南:設(shè)計模式篇(第2版)》采用Java語言和UML為描述語言,并結(jié)合作者多年工作經(jīng)歷及相關(guān)實踐經(jīng)驗,介紹了多線程環(huán)境下常用設(shè)計模式的來龍去脈:各個設(shè)計模式是什么樣的、典型的實際應用場景、實際應用時需要注意的事項及各個設(shè)計模式的可復用代碼實現(xiàn)代碼。《Java多線程編程實戰(zhàn)指南:設(shè)計模式篇(第2版)》第2版除更正了第1版中的錯誤外,還新增了JDK 8、JDK 9中與多線程設(shè)計模式相關(guān)的內(nèi)容,并對代碼進行了重構(gòu)和重新排版,使代碼部分重點更突出、更易于閱讀,以及提高了插圖的清晰度?!禞ava多線程編程實戰(zhàn)指南:設(shè)計模式篇(第2版)》適合有一定Java多線程編程基礎(chǔ)、經(jīng)驗的讀者閱讀。

作者簡介

  黃文海,2004年開始從事軟件開發(fā)工作,近幾年從事軟件項目管理工作。在其工作過程中積累了豐富的技術(shù)指導經(jīng)驗和企業(yè)內(nèi)部培訓經(jīng)驗。曾在InfoQ中文站和IBM developerWorks上發(fā)表過十幾篇技術(shù)、項目管理文章。

圖書目錄

第1章 Java多線程編程實戰(zhàn)基礎(chǔ) 1
1.1 無處不在的線程 1
1.2 線程的創(chuàng)建與運行 3
1.3 線程的狀態(tài)與上下文切換 5
1.4 對線程的監(jiān)視 8
1.5 原子性、內(nèi)存可見性和重排序――重新認識synchronized
和volatile 11
1.6 多線程編程的優(yōu)勢和風險 13
1.7 多線程編程常用術(shù)語 14
第2章 設(shè)計模式簡介 19
2.1 設(shè)計模式及其作用 19
2.2 多線程設(shè)計模式簡介 22
2.3 設(shè)計模式的描述 23
第3章 Immutable Object(不可變對象)模式 25
3.1 Immutable Object模式簡介 25
3.2 Immutable Object模式的架構(gòu) 27
3.3 Immutable Object模式實戰(zhàn)案例解析 29
3.4 Immutable Object模式的評價與實現(xiàn)考量 33
3.4.1 適用場景 33
3.4.2 對垃圾回收(Garbage Collection)的影響 34
3.4.3 使用等效或者近似的不可變對象 35
3.4.4 防御性復制 35
3.5 Immutable Object模式的可復用實現(xiàn)代碼 35
3.6 Java標準庫實例 35
3.7 相關(guān)模式 37
3.7.1 Thread Specific Storage模式(第10章) 37
3.7.2 Serial Thread Confinement模式(第11章) 37
3.8 參考資源 38
第4章 Guarded Suspension(保護性暫掛)模式 39
4.1 Guarded Suspension模式簡介 39
4.2 Guarded Suspension模式的架構(gòu) 39
4.3 Guarded Suspension模式實戰(zhàn)案例解析 43
4.4 Guarded Suspension模式的評價與實現(xiàn)考量 50
4.4.1 內(nèi)存可見性和鎖泄漏(Lock Leak) 51
4.4.2 線程被過早地喚醒 52
4.4.3 嵌套監(jiān)視器鎖死 53
4.5 Guarded Suspension模式的可復用實現(xiàn)代碼 56
4.6 Java標準庫實例 56
4.7 相關(guān)模式 56
4.7.1 Promise模式(第6章) 57
4.7.2 Producer-Consumer模式(第7章) 57
4.8 參考資源 57
第5章 Two-phase Termination(兩階段終止)模式 58
5.1 Two-phase Termination模式簡介 58
5.2 Two-phase Termination模式的架構(gòu) 59
5.3 Two-phase Termination模式實戰(zhàn)案例解析 61
5.4 Two-phase Termination模式的評價與實現(xiàn)考量 70
5.4.1 線程停止標志 71
5.4.2 生產(chǎn)者/消費者問題中的線程停止 71
5.4.3 隱藏而非暴露可停止線程 73
5.5 Two-phase Termination模式的可復用實現(xiàn)代碼 73
5.6 Java標準庫實例 73
5.7 相關(guān)模式 74
5.7.1 Producer-Consumer模式(第7章) 74
5.7.2 Master-Slave模式(第12章) 74
5.8 參考資源 74
第6章 Promise(承諾)模式 75
6.1 Promise模式簡介 75
6.2 Promise模式的架構(gòu) 75
6.3 Promise模式實戰(zhàn)案例解析 78
6.4 Promise模式的評價與實現(xiàn)考量 81
6.4.1 異步方法的異常處理 82
6.4.2 輪詢 82
6.4.3 異步任務(wù)的執(zhí)行 83
6.5 Promise模式的可復用實現(xiàn)代碼 84
6.6 Java標準庫實例 85
6.7 相關(guān)模式 85
6.7.1 Guarded Suspension模式(第4章) 85
6.7.2 Active Object模式(第8章) 86
6.7.3 Master-Slave模式(第12章) 86
6.7.4 Factory Method(工廠方法)模式 86
6.8 參考資源 86
第7章 Producer-Consumer(生產(chǎn)者/消費者)模式 87
7.1 Producer-Consumer模式簡介 87
7.2 Producer-Consumer模式的架構(gòu) 87
7.3 Producer-Consumer模式實戰(zhàn)案例解析 90
7.4 Producer-Consumer模式的評價與實現(xiàn)考量 93
7.4.1 產(chǎn)品的粒度 94
7.4.2 通道積壓 94
7.4.3 非阻塞式反壓與Reactive Streams規(guī)范 96
7.4.4 工作竊取算法 97
7.4.5 線程的停止 101
7.4.6 高性能、高可靠性的Producer-Consumer模式實現(xiàn) 101
7.5 Producer-Consumer模式的可復用實現(xiàn)代碼 102
7.6 Java標準庫實例 102
7.7 相關(guān)模式 102
7.7.1 Guarded Suspension模式(第4章) 102
7.7.2 Thread Pool模式(第9章) 103
7.8 參考資源 103
第8章 Active Object(主動對象)模式 104
8.1 Active Object模式簡介 104
8.2 Active Object模式的架構(gòu) 105
8.3 Active Object模式實戰(zhàn)案例解析 108
8.4 Active Object模式的評價與實現(xiàn)考量 115
8.4.1 錯誤隔離 117
8.4.2 緩沖區(qū)監(jiān)控 118
8.4.3 緩沖區(qū)飽和處理策略 118
8.4.4 Scheduler空閑工作者線程清理 119
8.5 Active Object模式的可復用實現(xiàn)代碼 119
8.6 Java標準庫實例 123
8.7 相關(guān)模式 123
8.7.1 Promise模式(第6章) 123
8.7.2 Producer-Consumer模式(第7章) 123
8.8 參考資源 124
第9章 Thread Pool(線程池)模式 125
9.1 Thread Pool模式簡介 125
9.2 Thread Pool模式的架構(gòu) 126
9.3 Thread Pool模式實戰(zhàn)案例解析 128
9.4 Thread Pool模式的評價與實現(xiàn)考量 130
9.4.1 工作隊列的選擇 131
9.4.2 線程池大小調(diào)校 132
9.4.3 線程池監(jiān)控 134
9.4.4 線程泄漏 135
9.4.5 可靠性與線程池飽和處理策略 135
9.4.6 死鎖 138
9.4.7 線程池空閑線程清理 139
9.5 Thread Pool模式的可復用實現(xiàn)代碼 140
9.6 Java標準庫實例 140
9.7 相關(guān)模式 140
9.7.1 Two-phase Termination模式(第5章) 140
9.7.2 Promise模式(第6章) 141
9.7.3 Producer-Consumer模式(第7章) 141
9.8 參考資源 141
第10章 Thread Specific Storage(線程特有存儲)模式 142
10.1 Thread Specific Storage模式簡介 142
10.2 Thread Specific Storage模式的架構(gòu) 144
10.3 Thread Specific Storage模式實戰(zhàn)案例解析 146
10.4 Thread Specific Storage模式的評價與實現(xiàn)考量 149
10.4.1 在線程池環(huán)境下使用Thread Specific Storage模式 153
10.4.2 內(nèi)存泄漏與偽內(nèi)存泄漏 153
10.5 Thread Specific Storage模式的可復用實現(xiàn)代碼 161
10.6 Java標準庫實例 161
10.7 相關(guān)模式 162
10.7.1 Immutable Object模式(第3章) 162
10.7.2 Proxy(代理)模式 162
10.7.3 Singleton(單例)模式 162
10.8 參考資源 162
第11章 Serial Thread Confinement(串行線程封閉)模式 163
11.1 Serial Thread Confinement模式簡介 163
11.2 Serial Thread Confinement模式的架構(gòu) 163
11.3 Serial Thread Confinement模式實戰(zhàn)案例解析 166
11.4 Serial Thread Confinement模式的評價與實現(xiàn)考量 170
11.5 Serial Thread Confinement模式的可復用實現(xiàn)代碼 171
11.6 Java標準庫實例 176
11.7 相關(guān)模式 177
11.7.1 Immutable Object模式(第3章) 177
11.7.2 Promise模式(第6章) 177
11.7.3 Producer-Consumer模式(第7章) 177
11.7.4 Thread Specific Storage模式(第10章) 177
11.8 參考資源 177
第12章 Master-Slave(主仆)模式 178
12.1 Master-Slave模式簡介 178
12.2 Master-Slave模式的架構(gòu) 178
12.3 Master-Slave模式實戰(zhàn)案例解析 180
12.4 Master-Slave模式的評價與實現(xiàn)考量 187
12.4.1 子任務(wù)處理結(jié)果的收集 188
12.4.2 Slave參與者實例的負載均衡與工作竊取 189
12.4.3 可靠性與異常處理 190
12.4.4 Slave線程的停止 190
12.5 Master-Slave模式的可復用實現(xiàn)代碼 190
12.6 Java標準庫實例 204
12.7 相關(guān)模式 204
12.7.1 Two-phase Termination模式(第5章) 204
12.7.2 Promise模式(第6章) 204
12.7.3 Strategy(策略)模式 204
12.7.4 Template(模板)模式 205
12.7.5 Factory Method(工廠方法)模式 205
12.8 參考資源 205
第13章 Pipeline(流水線)模式 206
13.1 Pipeline模式簡介 206
13.2 Pipeline模式的架構(gòu) 207
13.3 Pipeline模式實戰(zhàn)案例解析 212
13.4 Pipeline模式的評價與實現(xiàn)考量 219
13.4.1 Pipeline的深度 220
13.4.2 基于線程池的Pipe 220
13.4.3 錯誤處理 223
13.4.4 可配置的Pipeline 224
13.5 Pipeline模式的可復用實現(xiàn)代碼 224
13.6 Java標準庫實例 236
13.7 相關(guān)模式 236
13.7.1 Serial Thread Confinement模式(第11章) 236
13.7.2 Master-Slave模式(第12章) 237
13.7.3 Composite模式 237
13.8 參考資源 237
第14章 Half-sync/Half-async(半同步/半異步)模式 238
14.1 Half-sync/Half-async模式簡介 238
14.2 Half-sync/Half-async模式的架構(gòu) 238
14.3 Half-sync/Half-async模式實戰(zhàn)案例解析 240
14.4 Half-sync/Half-async模式的評價與實現(xiàn)考量 249
14.4.1 隊列積壓 250
14.4.2 避免同步任務(wù)層處理過慢 251
14.5 Half-sync/Half-async模式的可復用實現(xiàn)代碼 251
14.6 Java標準庫實例 256
14.7 相關(guān)模式 256
14.7.1 Two-phase Termination模式(第5章) 256
14.7.2 Producer-Consumer模式(第7章) 256
14.7.3 Active Object模式(第8章) 256
14.7.4 Thread Pool模式(第9章) 257
14.8 參考資源 257
第15章 模式語言 258
15.1 設(shè)計模式之間的聯(lián)系 258
15.2 Immutable Object模式 260
15.3 Guarded Suspension模式 261
15.4 Two-phase Termination模式 262
15.5 Promise模式 263
15.6 Producer-Consumer模式 264
15.7 Active Object模式 265
15.8 Thread Pool模式 266
15.9 Thread Specific Storage模式 267
15.10 Serial Thread Confinement模式 268
15.11 Master-Slave模式 269
15.12 Pipeline模式 270
15.13 Half-sync/Half-async模式 271
附錄A 本書常用UML圖指南 272
參考文獻 281

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號