TOP
0
0
三民出版.新書搶先報|最速、最優惠的新鮮貨報給你知!
Java多線程編程實戰指南:設計模式篇(第2版)(簡體書)
滿額折

Java多線程編程實戰指南:設計模式篇(第2版)(簡體書)

商品資訊

人民幣定價:69 元
定價
:NT$ 414 元
優惠價
87360
缺貨無法訂購
商品簡介
名人/編輯推薦
目次
相關商品

商品簡介

隨著CPU多核時代的到來,多線程編程在充分利用計算資源、提高軟件服務質量方面扮演了越來越重要的角色。解決多線程編程中頻繁出現的普遍問題可以借鑒設計模式所提供的現成解決方案。然而,多線程編程相關的設計模式圖書多採用C++作為描述語言,且書中所舉的例子多與應用開發人員的實際工作相去甚遠。本書採用Java語言和UML為描述語言,並結合作者多年工作經歷及相關實踐經驗,介紹了多線程環境下常用設計模式的來龍去脈:各個設計模式是什麼樣的、典型的實際應用場景、實際應用時需要注意的事項及各個設計模式的可複用代碼實現。本書第2版除更正了第1版中的錯誤外,還新增了JDK 8、JDK 9中與多線程設計模式相關的內容,並對代碼進行了重構和重新排版,使代碼部分重點更突出、更易於閱讀,以及提高了插圖的清晰度。本書適合有一定Java多線程編程基礎、經驗的讀者閱讀。

名人/編輯推薦

本書從理論到實戰,用生活化的實例和通俗易懂的語言全面介紹Java多線程編程的“三十六計”多線程設計模式
本書用Java詮釋多線程編程的“三十六計”――多線程設計模式,對每個設計模式的講解都附有實戰案例和源代碼解析,從理論到實戰經驗,全面呈現常用多線程設計模式的來龍去脈。
本書第2版除更正了第1版中的錯誤外,還新增了JDK 8、JDK 9中與多線程設計模式相關的內容,並對代碼進行了重構和重新排版,使代碼部分重點更突出、更易於閱讀,以及提高了插圖的清晰度。

目次

第1章 Java多線程編程實戰基礎 1
1.1 無處不在的線程 1
1.2 線程的創建與運行 3
1.3 線程的狀態與上下文切換 5
1.4 對線程的監視 8
1.5 原子性、內存可見性和重排序――重新認識synchronized
和volatile 11
1.6 多線程編程的優勢和風險 13
1.7 多線程編程常用術語 14
第2章 設計模式簡介 19
2.1 設計模式及其作用 19
2.2 多線程設計模式簡介 22
2.3 設計模式的描述 23
第3章 Immutable Object(不可變對象)模式 25
3.1 Immutable Object模式簡介 25
3.2 Immutable Object模式的架構 27
3.3 Immutable Object模式實戰案例解析 29
3.4 Immutable Object模式的評價與實現考量 33
3.4.1 適用場景 33
3.4.2 對垃圾回收(Garbage Collection)的影響 34
3.4.3 使用等效或者近似的不可變對象 35
3.4.4 防禦性複製 35
3.5 Immutable Object模式的可複用實現代碼 35
3.6 Java標準庫實例 35
3.7 相關模式 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模式的架構 39
4.3 Guarded Suspension模式實戰案例解析 43
4.4 Guarded Suspension模式的評價與實現考量 50
4.4.1 內存可見性和鎖洩漏(Lock Leak) 51
4.4.2 線程被過早地喚醒 52
4.4.3 嵌套監視器鎖死 53
4.5 Guarded Suspension模式的可複用實現代碼 56
4.6 Java標準庫實例 56
4.7 相關模式 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模式的架構 59
5.3 Two-phase Termination模式實戰案例解析 61
5.4 Two-phase Termination模式的評價與實現考量 70
5.4.1 線程停止標誌 71
5.4.2 生產者/消費者問題中的線程停止 71
5.4.3 隱藏而非暴露可停止線程 73
5.5 Two-phase Termination模式的可複用實現代碼 73
5.6 Java標準庫實例 73
5.7 相關模式 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模式的架構 75
6.3 Promise模式實戰案例解析 78
6.4 Promise模式的評價與實現考量 81
6.4.1 異步方法的異常處理 82
6.4.2 輪詢 82
6.4.3 異步任務的執行 83
6.5 Promise模式的可複用實現代碼 84
6.6 Java標準庫實例 85
6.7 相關模式 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(生產者/消費者)模式 87
7.1 Producer-Consumer模式簡介 87
7.2 Producer-Consumer模式的架構 87
7.3 Producer-Consumer模式實戰案例解析 90
7.4 Producer-Consumer模式的評價與實現考量 93
7.4.1 產品的粒度 94
7.4.2 通道積壓 94
7.4.3 非阻塞式反壓與Reactive Streams規範 96
7.4.4 工作竊取算法 97
7.4.5 線程的停止 101
7.4.6 高性能、高可靠性的Producer-Consumer模式實現 101
7.5 Producer-Consumer模式的可複用實現代碼 102
7.6 Java標準庫實例 102
7.7 相關模式 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模式的架構 105
8.3 Active Object模式實戰案例解析 108
8.4 Active Object模式的評價與實現考量 115
8.4.1 錯誤隔離 117
8.4.2 緩衝區監控 118
8.4.3 緩衝區飽和處理策略 118
8.4.4 Scheduler空閒工作者線程清理 119
8.5 Active Object模式的可複用實現代碼 119
8.6 Java標準庫實例 123
8.7 相關模式 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模式的架構 126
9.3 Thread Pool模式實戰案例解析 128
9.4 Thread Pool模式的評價與實現考量 130
9.4.1 工作隊列的選擇 131
9.4.2 線程池大小調校 132
9.4.3 線程池監控 134
9.4.4 線程洩漏 135
9.4.5 可靠性與線程池飽和處理策略 135
9.4.6 死鎖 138
9.4.7 線程池空閒線程清理 139
9.5 Thread Pool模式的可複用實現代碼 140
9.6 Java標準庫實例 140
9.7 相關模式 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模式的架構 144
10.3 Thread Specific Storage模式實戰案例解析 146
10.4 Thread Specific Storage模式的評價與實現考量 149
10.4.1 在線程池環境下使用Thread Specific Storage模式 153
10.4.2 內存洩漏與偽內存洩漏 153
10.5 Thread Specific Storage模式的可複用實現代碼 161
10.6 Java標準庫實例 161
10.7 相關模式 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模式的架構 163
11.3 Serial Thread Confinement模式實戰案例解析 166
11.4 Serial Thread Confinement模式的評價與實現考量 170
11.5 Serial Thread Confinement模式的可複用實現代碼 171
11.6 Java標準庫實例 176
11.7 相關模式 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模式的架構 178
12

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 360
缺貨無法訂購

暢銷榜

客服中心

收藏

會員專區