Scala 並發編程 Scala并发编程

普羅科佩茨 (Aleksandar Prokopec)

  • 出版商: 電子工業
  • 出版日期: 2015-10-01
  • 售價: $450
  • 貴賓價: 9.5$428
  • 語言: 簡體中文
  • 頁數: 312
  • 裝訂: 平裝
  • ISBN: 7121271737
  • ISBN-13: 9787121271731
  • 相關分類: JVM 語言

立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

<內容介紹>

免費的性能午餐已經結束——Intel、AMD 和 Sparc、PowerPC 等主要的處理器生產廠商,從前使用的提高 CPU 性能的傳統方法已經走到盡頭,單核處理器的主頻多年來一直踏步不前,當今主流的CPU 製造技術是超線程和多核架構。面對電腦性能的挑戰和硬件架構的改變,迷惘的軟件開發者們應何去何從?本書為大家展示了一條光明的康莊大道!
    《Scala併發編程》由 Scala 語言的發明者,瑞士洛桑聯邦理工大學教授 Martin Odersky 的愛徒普羅科佩茨博士撰寫。作者根據自己在 Scala 語言開發團隊中的工作經驗,全面地介紹了併發編程技術。這些併發編程技術包括:併發程序設計的基礎知識和背景知識、常用併發實用組件(如線程池、原子變量和併發集合)的用法、Scala 專用併發框架(Future 和 Promise API)的用法、Scala 並行集合框架的用法、使用響應式擴展框架編寫基於事件的程序和異步程序的方式、用於編寫事務程序的 ScalaSTM庫以及 Actor 編程模型和 Akka 框架。作者在本書中列舉的實例既介紹了理論知識又展示了實踐方法,同時還能夠開拓讀者的編程思路。此外,作者還在每章末尾提供了大量編程習題,幫助讀者測試和鞏固知識。

<章節目錄>

前言  XVII
1 簡介
  併發程序設計
  傳統併發編程技術概述
  現代併發範式
  Scala 的優點
  預備知識
  執行Scala 程序
  Scala 基礎知識
  小結
  練習
2 JVM 和Java 內存模型中的併發處理方式
  進程和線程
  創建和啟動線程
  原子執行方式
  調整次序
  監控器和同步
  死鎖
  保衛鎖
  中斷線程和正常關閉
  Volatile 變量
  Java 內存模型
  不可變對象和final 字段
  小結
  練習
3 構建併發程序的傳統材料
  Executor 和ExecutionContext 對象
  原子型基元
  原子變量
  無鎖編程
  以明確方式實現鎖
  ABA 問題
  惰性值
  併發集合
  併發隊列
  併發集和映射
  併發遍歷
  創建和處理進程
  小結
  練習
4 使用Future 和Promise 對象編寫異步程序
  Future 類
  執行Future 計算
  Future 對象的回調函數
  Future 計算和異常
  使用Try 類型
  致命異常
  Future 對象中的函數組合
  Promise 類
  轉換基於回調函數的API

  擴展Future API
  取消異步計算操作
  Future 對象和阻塞操作
  等待Future 對象
  在異步計算內部執行阻塞操作
  Scala Async 庫
  可選的Future 框架
  小結
  練習
5 數據並行集合
  Scala 集合概述
  並行集合的用法
  並行集合類的層次結構
  配置並行等級
  在JVM 中度量性能
  使用並行集合的註意事項
  非可並行化集合
  非可並行化操作
  並行操作的副作用
  不確定的並行操作
  可交換和可結合操作符
  組合使用並行集合和併發集合
  弱一致性迭代器
  實現自定義的並行集合
  分離器
  組合器
  可選的數據並行框架
  ScalaBlitz 框架中的集合層次結構
  小結
  練習
6 使用Reactive Extensions 編寫併發程序
  創建Observable 對象
  Observable 對象和異常
  Observable 協定
  實現自定義Observable 對象
  通過Future 對象創建Observable 對象
  Subion 對象
  組合Observable 對象
  嵌套的Observable 對象
  處理完善Observable 對象失敗的情況
  Rx 調度器
  使用自定義調度器編寫UI 應用程序
  Subject 特徵和自頂向下的響應式編程
  小結
  練習
7 基於軟件的事務內存
  原子變量帶來的麻煩
  使用基於軟件的事務內存
  事務引用
  使用atomic 語句

  組合事務
  事務與副作用
  單操作事務
  嵌套事務
  事務和異常
  重新嘗試執行事務
  通過超時設置重新嘗試執行事務
  事務集合
  事務局部變量
  事務數組
  事務映射
  小結
  練習
8 Actor
  使用Actor 模型
  創建Actor 系統和Actor 實例
  管理無法正常處理的消息
  Actor 實例的行為和狀態
  Akka 框架中的Actor 層次結構
  識別Actor 對象
  Actor 對象的生命周期
  Actor 對象之間的通信
  請求模式
  轉發模式
  停止Actor 對象
  Actor 監督
  遠程Actor 對象
  小結
  練習
9 實用併發技術
  工欲善其事,必先利其器
  組合使用多種框架——編寫遠程文件管理器
  創建文件系統模型
  服務器接口
  客戶端導航API
  客戶端的用戶界面
  實現客戶端程序的邏輯
  改進遠程文件管理器
  調試併發程序
  死鎖和暫停處理過程
  調試運行結果不正確的程序
  性能調試
  小結
  練習