發表於2024-11-23
書[0名0]: | Java並發編程實戰([0第0]16屆Jolt[0大0]奬提[0名0]圖書,Java並發編程必讀佳作)|199038 |
圖書定價: | 69元 |
圖書作者: | (美)Brian Goetz;Tim Peierls 等 |
齣版社: | [1機1] 械工業齣版社 |
齣版日期: | 2012/2/1 0:00:00 |
ISBN號: | 9787111370048 |
開本: | 16開 |
頁數: | 291 |
版次: | 1-1 |
作者簡介 |
作者:蓋茨(Brian Goetz) (美[0國0])Tim Peierls (美[0國0])Joshua Bloch 等 譯者:童雲蘭 等 本書作者都是Java Community Process JSR 166專傢組(並發工具)的主要成員,並在其他很多JCP專傢組裏任職。Brian Goetz有20多年的軟件谘詢行業經驗,並著有至少75篇關於Java開發的文章。 Tim Peierls是“現代多處理器”的典範,他在BoxPop.biz、唱片藝術和戲劇錶演方麵也頗有研究。 Joseph Bowbeer是一個Java ME專傢,他對並發編程的興趣始於Apollo計算 [1機1] 時代。David Holmes是《The Java Programming Language》一書的閤著者,任職於Sun公司。 Joshua Bloch是Google公司的[0首0]席Java架構師,《Effective Java》一書的作者,並參與著作瞭《Java Puzzlers》。 Doug Lea是《Concurrent Programming》一書的作者,紐約州立[0大0][0學0] Oswego分校的計算 [1機1] 科[0學0]教授。 |
內容簡介 |
《Java並發編程實戰》深入淺齣地介紹瞭Java綫程和並發,是一本完美的Java並發參考手冊。書中從並發性和綫程安全性的基本概念齣發,介紹瞭如何使用類庫提供的基本並發構建塊,用於避免並發危險、構造綫程安全的類及驗證綫程安全的規則,如何將小的綫程安全類組閤成更[0大0]的綫程安全類,如何利用綫程來提高並發應用程序的吞吐量,如何識彆可並行執行的任務,如何提高單綫程子係統的響應性,如何確保並發程序執行預期任務,如何提高並發代碼的性能和可伸縮性等內容,後介紹瞭一些高級主題,如顯式鎖、原子變量、非阻塞算[0法0]以及如何開發自定義的同步工具類。 《Java並發編程實戰》適閤Java程序開發人員閱讀。 |
目錄 |
《Java並發編程實戰》 對本書的贊譽 譯者序 前 言 [0第0]1章 簡介1 1.1 並發簡[0史0]1 1.2 綫程的[0優0]勢2 1.2.1 發揮多處理器的強[0大0]能力2 1.2.2 建模的簡單性3 1.2.3 異步事件的簡化處理3 1.2.4 響應更靈敏的用戶界麵4 1.3 綫程帶來的風險4 1.3.1 安全性問題5 1.3.2 活躍性問題7 1.3.3 性能問題7 1.4 綫程無處不在7 [0第0]一部分 基礎[0知0]識 [0第0]2章 綫程安全性11 2.1 什麼是綫程安全性13 2.2 原子性14 2.2.1 競態條件15 2.2.2 示例:延遲初始化中的競態條件16 2.2.3 復閤操作17 2.3 加鎖 [1機1] 製18 2.3.1 內置鎖20 2.3.2 重入21 2.4 用鎖來保護狀態22 2.5 活躍性與性能23 [0第0]3章 對象的共享27 3.1 可見性27 3.1.1 失效數據28 3.1.2 非原子的64位操作29 3.1.3 加鎖與可見性30 3.1.4 Volatile變量 30 3.2 發布與逸齣32 3.3 綫程封閉35 3.3.1 Ad-hoc綫程封閉35 3.3.2 棧封閉36 3.3.3 ThreadLocal類37 3.4 不變性38 3.4.1 Final域39 3.4.2 示例:使用Volatile類型來發布不可變對象40 3.5 安全發布41 3.5.1 不正確的發布:正確的對象被破壞42 3.5.2 不可變對象與初始化安全性42 3.5.3 安全發布的常用模式43 3.5.4 事實不可變對象44 3.5.5 可變對象44 3.5.6 安全地共享對象44 [0第0]4章 對象的組閤46 4.1 設計綫程安全的類46 4.1.1 收集同步需求47 4.1.2 依賴狀態的操作48 4.1.3 狀態的所有[0[0權0]0]48 4.2 實例封閉49 4.2.1 Java監視器模式51 4.2.2 示例:車輛追蹤51 4.3 綫程安全性的委托53 4.3.1 示例:基於委托的車輛追蹤器54 4.3.2 [0獨0]立的狀態變量55 4.3.3 [0當0]委托失效時56 4.3.4 發布底層的狀態變量57 4.3.5 示例:發布狀態的車輛追蹤器58 4.4 在現有的綫程安全類中添加功能59 4.4.1 客戶端加鎖 [1機1] 製60 4.4.2 組閤62 4.5 將同步策略文檔化62 [0第0]5章 基礎構建模塊66 5.1 同步容器類66 5.1.1 同步容器類的問題66 5.1.2 迭代器與Concurrent-ModificationException68 5.1.3 隱藏迭代器69 5.2 並發容器70 5.2.1 ConcurrentHashMap71 5.2.2 額外的原子Map操作72 5.2.3 CopyOnWriteArrayList72 5.3 阻塞隊列和生産者-消費者模式73 5.3.1 示例:桌麵搜索75 5.3.2 串行綫程封閉76 5.3.3 [0[0雙0]0]端隊列與工作密取77 5.4 阻塞方[0法0]與中斷方[0法0]77 5.5 同步工具類78 5.5.1 閉鎖79 5.5.2 FutureTask80 5.5.3 信號量82 5.5.4 柵欄83 5.6 構建高效且可伸縮的結果緩存85 [0第0]二部分 結構化並發應用程序 [0第0]6章 任務執行93 6.1 在綫程中執行任務93 6.1.1 串行地執行任務94 6.1.2 顯式地為任務創建綫程94 6.1.3 無限製創建綫程的不足95 6.2 Executor框架96 6.2.1 示例:基於Executor的Web服務器97 6.2.2 執行策略98 6.2.3 綫程池98 6.2.4 Executor的生命周期99 6.2.5 延遲任務與周期任務101 6.3 找齣可利用的並行性102 6.3.1 示例:串行的頁麵渲染器102 6.3.2 攜帶結果的任務C[0all0]able與Future103 6.3.3 示例:使用Future實現頁麵渲染器104 6.3.4 在異構任務並行化中存在的局限106 6.3.5 CompletionService:Executor與BlockingQueue106 6.3.6 示例:使用CompletionService實現頁麵渲染器107 6.3.7 為任務設置時限108 6.3.8 示例:旅行預定門戶網站109 [0第0]7章 取消與關閉111 7.1 任務取消111 7.1.1 中斷113 7.1.2 中斷策略116 7.1.3 響應中斷117 7.1.4 示例:計時運行118 7.1.5 通過Future來實現取消120 7.1.6 處理不可中斷的阻塞121 7.1.7 采用newTaskFor來封裝非標準的取消122 7.2 停止基於綫程的服務124 7.2.1 示例:日誌服務124 7.2.2 關閉ExecutorService127 7.2.3 “毒丸”對象128 7.2.4 示例:隻執行一次的服務129 7.2.5 shutdown[0No0]w的局限性130 7.3 處理非正常的綫程終止132 7.4 JVM關閉135 7.4.1 關閉鈎子135 7.4.2 守護綫程136 7.4.3 終結器136 [0第0]8章 綫程池的使用138 8.1 在任務與執行策略之間的隱性耦閤138 8.1.1 綫程飢餓死鎖139 8.1.2 運行時間較長的任務140 8.2 設置綫程池的[0大0]小140 8.3 配置ThreadPoolExecutor141 8.3.1 綫程的創建與銷毀142 8.3.2 管理隊列任務142 8.3.3 飽和策略144 8.3.4 綫程工廠146 8.3.5 在調用構造函數後再定製ThreadPoolExecutor147 8.4 擴展 ThreadPoolExecutor148 8.5 遞歸算[0法0]的並行化149 [0第0]9章 圖形用戶界麵應用程序156 9.1 為什麼GUI是單綫程的156 9.1.1 串行事件處理157 9.1.2 Swing中的綫程封閉 [1機1] 製158 9.2 短時間的GUI任務160 9.3 長時間的GUI任務161 9.3.1 取消162 9.3.2 進度標識和完成標識163 9.3.3 SwingWorker165 9.4 共享數據模型165 9.4.1 綫程安全的數據模型166 9.4.2 分解數據模型166 9.5 其他形式的單綫程子係統167 [0第0]三部分 活躍性、性能與測試 [0第0]10章 避免活躍性危險169 10.1 死鎖169 10.1.1 鎖順序死鎖170 10.1.2 動態的鎖順序死鎖171 10.1.3 在協作對象之間發生的死鎖174 10.1.4 開放調用175 10.1.5 資源死鎖177 10.2 死鎖的避免與診斷178 10.2.1 支持定時的鎖178 10.2.2 通過綫程轉儲信息來分析死鎖178 10.3 其他活躍性危險180 10.3.1 飢餓180 10.3.2 糟糕的響應性181 10.3.3 活鎖181 [0第0]11章 性能與可伸縮性183 11.1 對性能的思考183 11.1.1 性能與可伸縮性184 11.1.2 [0評0]估各種性能[0[0權0]0]衡因素185 11.2 Amdahl定律186 11.2.1 示例:在各種框架中隱藏的串行部分188 11.2.2 Amdahl定律的應用189 11.3 綫程引入的開 包郵 Java並發編程實戰(第16屆Jolt大奬提名圖書,Java並發編|199038 下載 mobi epub pdf txt 電子書 格式 包郵 Java並發編程實戰(第16屆Jolt大奬提名圖書,Java並發編|199038 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024包郵 Java並發編程實戰(第16屆Jolt大奬提名圖書,Java並發編|199038 下載 mobi pdf epub txt 電子書 格式 2024 包郵 Java並發編程實戰(第16屆Jolt大奬提名圖書,Java並發編|199038 下載 mobi epub pdf 電子書用戶評價
評分
評分 評分 評分 評分 評分 評分 評分 評分
類似圖書 點擊查看全場最低價
包郵 Java並發編程實戰(第16屆Jolt大奬提名圖書,Java並發編|199038 mobi epub pdf txt 電子書 格式下載 2024 分享鏈接相關圖書
|