Java 9並發編程實戰

Java 9並發編程實戰

《Java 9並發編程實戰》是2019年8月人民郵電出版社出版的圖書,作者是[西班牙]哈維爾·費爾南德茲·岡薩雷斯(Javier Fernández González )。

基本介紹

  • 中文名:Java 9並發編程實戰
  • 作者:[西班牙]哈維爾·費爾南德茲·岡薩雷斯(Javier Fernández González )
  • 出版社:人民郵電出版社
  • 出版時間:2019年8月
  • 頁數:479 頁
  • 定價:99 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115505866
內容簡介,圖書目錄,

內容簡介

《Java 9並發編程實戰》緊緊圍繞Java 9並發類庫和機制,由淺入深地講解了Java 9並發編程的知識,並以案例的形式展現如何在真實需求中使用這些類庫。
《Java 9並發編程實戰》共11章。第1章到第4章主要介紹執行緒管理、Java同步代碼的基本機制、執行緒間同步的工具、執行緒執行器等內容;第5章介紹fork/join框架的用法;第6章介紹流的相關知識以及Java 9中用來實現反應式流的接口;第7章到第9章介紹如何使用Java提供的並發數據結構,以及如何根據需要擴展Java並發API中常用的類等內容;第10章和第11章就一些概念和開發注意事項進行拓展,包括並發數據、監控並發對象等內容。
《Java 9並發編程實戰》給出了完整的案例開發步驟和代碼,可以讓讀者直面程式運行過程,剖析原理、體會細節,適合對Java編程感興趣的讀者閱讀。

圖書目錄

第 1章 執行緒管理 1
1.1 簡介 1
1.2 執行緒的創建、運行和設定 2
1.3 執行緒中斷 8
1.4 控制執行緒中斷 11
1.5 執行緒的休眠和喚醒 14
1.6 等待執行緒執行結束 16
1.7 守護執行緒的創建與運行 19
1.8 處理執行緒中的不可控異常 23
1.9 使用執行緒本地變數 26
1.10 執行緒分組及執行緒組中不可控異常的處理 29
1.11 使用工廠創建執行緒 33
第 2章 執行緒同步基礎 37
2.1 簡介 37
2.2 方法同步 38
2.3 在同步代碼塊中使用條件 46
2.4 在同步代碼塊中使用鎖機制 51
2.5 用讀/寫鎖保護同步代碼塊 57
2.6 在一個鎖中使用多個條件 62
2.7 高階知識:StampedLock的使用 70
第3章 執行緒同步工具 78
3.1 簡介 78
3.2 控制對資源的一個或多個副本的並發訪問 79
3.3 等待多個並發事件 85
3.4 在指定狀態點同步任務 90
3.5 運行階段性並發任務 98
3.6 階段性並發任務中階段轉變的控制 108
3.7 兩個並發任務間的數據交換 114
3.8 異步地完成和關聯任務 118
第4章 執行緒執行器 128
4.1 簡介 128
4.2 創建一個執行緒執行器並實現其拒絕策略 129
4.3 在一個執行器里執行任務並返回結果 136
4.4 運行多個任務並處理第 一個返回結果 140
4.5 運行多個任務並處理全部返回結果 146
4.6 在執行器內延遲運行任務 150
4.7 在執行器內周期性地運行任務 154
4.8 在執行器內取消任務 157
4.9 在執行器內控制任務的完成 160
4.10 在執行器內分離任務的啟動並處理返回結果 164
第5章 fork/join框架 171
5.1 簡介 171
5.2 創建一個fork/join池 173
5.3 合併任務的執行結果 180
5.4 異步地運行任務 189
5.5 在任務中拋出異常 196
5.6 取消一個任務 200
第6章 並行反應式流 208
6.1 簡介 208
6.2 使用不同的源創建流 210
6.3 歸約一個流的元素 217
6.4 收集流中的元素 224
6.5 把一個動作套用到流的每個元素上 231
6.6 過濾流中的元素 234
6.7 轉換流中的元素 237
6.8 排序流中的元素 241
6.9 在流中的元素上驗證條件 244
6.10 在反應式流上反應式編程 248
第7章 並發集合 256
7.1 簡介 256
7.2 運用非阻塞執行緒安全的雙端佇列 257
7.3 運用阻塞執行緒安全的雙端佇列 262
7.4 運用按優先權排序的阻塞執行緒安全佇列 265
7.5 運用帶延遲元素的執行緒安全列表 271
7.6 運用執行緒安全的跳表 276
7.7 運用執行緒安全的HashMap 281
7.8 運用原子性變數 287
7.9 運用原子性數組 294
7.10 運用volatile關鍵字 298
7.11 運用變數句柄 302
第8章 自定義並發類 307
8.1 簡介 307
8.2 自定義ThreadPoolExecutor類 308
8.3 實現一個基於優先權的Executor類 313
8.4 實現ThreadFactory接口來生成自定義執行緒 317
8.5 在一個Executor對象中使用ThreadFactory 322
8.6 自定義在一個周期調度性執行緒池中運行的任務 324
8.7 實現一個ThreadFactory以生成fork/join框架的自定義執行緒 331
8.8 自定義運行於fork/join框架中的任務 338
8.9 實現一個自定義Lock類 342
8.10 實現一個基於優先權的傳遞佇列 348
8.11 實現自己的原子性對象 359
8.12 實現自己的流生成器 363
8.13 實現自己的異步流 369
第9章 並發程式的測試 378
9.1 簡介 378
9.2 監測Lock接口 379
9.3 監測Phaser類 383
9.4 監測Executor框架 387
9.5 監測fork/join任務池 390
9.6 監測流 395
9.7 輸出有效日誌信息 397
9.8 利用FindBugs分析並發程式代碼 402
9.9 使用Eclipse調試並發程式代碼 406
9.10 使用NetBeans調試並發程式代碼 408
9.11 使用MultithreadedTC調試並發程式代碼 413
9.12 使用JConsole監測 416
第 10章 附加信息 421
10.1 簡介 421
10.2 在Executor框架中處理Runnable對象的結果 421
10.3 在ForkJoinPool類中處理未控制的異常 427
10.4 使用執行緒安全的阻塞佇列在生產者和消費者之間進行互動 431
10.5 監測Thread類 436
10.6 監測Semaphore類 440
10.7 生成並發隨機數 443
第 11章 並發編程設計 445
11.1 簡介 445
11.2 儘可能使用不可變對象 446
11.3 對鎖排序以避免死鎖 449
11.4 使用原子變數替代同步 451
11.5 儘可能短地持有鎖 455
11.6 委託執行器管理執行緒 459
11.7 使用並發數據結構替代手動編程 462
11.8 使用延遲初始化預防問題 464
11.9 使用fork/join框架替代執行器 466
11.10 避免在鎖中使用阻塞操作 470
11.11 避免使用已棄用的方法 472
11.12 使用執行器替代執行緒組 473
11.13 使用流處理大數據集 474
11.14 其他提示和技巧 479

相關詞條

熱門詞條

聯絡我們