Scala並發編程

Scala並發編程
定價:450
NT $ 450
 

內容簡介

免費的性能午餐已經結束——Intel、AMD 和 Sparc、PowerPC 等主要的處理器生產廠商,從前使用的提高 CPU 性能的傳統方法已經走到盡頭,單核處理器的主頻多年來一直踏步不前,當今主流的CPU 制造技術是超線程和多核架構。面對計算機性能的挑戰和硬件架構的改變,迷惘的軟件開發者們應何去何從?本書為大家展示了一條光明的康庄大道!

本書由 Scala 語言的發明者,瑞士洛桑聯邦理工大學教授 Martin Odersky 的愛徒 Aleksandar Prokopec 博士撰寫。作者根據自己在 Scala 語言開發團隊中的工作經驗,全面地介紹了並發編程技術。這些並發編程技術包括:並發程序設計的基礎知識和背景知識、常用並發實用組件(如線程池、原子變量和並發集合)的用法、Scala 專用並發框架(Future 和 Promise API)的用法、Scala 並行集合框架的用法、使用響應式擴展框架編寫基於事件的程序和異步程序的方式、用於編寫事務程序的 ScalaSTM庫以及 Actor 編程模型和 Akka 框架。作者在本書中列舉的實例既介紹了理論知識又展示了實踐方法,同時還能夠開拓讀者的編程思路。此外,作者還在每章末尾提供了大量編程習題,幫助讀者測試和鞏固知識。

Aleksandar Prokopec 是一位軟件開發者,同時也是並發和分布式編程技術研究者。他擁有克羅地亞薩格勒布大學電子工程和計算學院的計算機專業碩士學位和瑞士洛桑聯邦理工大學(EPFL)的計算機科學專業博士學位。作為 EPFL 博士助教和 Scala 語言開發團隊成員,他積極為 Scala 編程語言做貢獻,研究並發編程抽象、並行數據編程支持和 Scala並發數據結構。他編寫了 Scala Parallel Collections 框架,這是一個高級的 Scala 並行數據編程庫。他還參加了多個 Scala 並發庫開發小組,開發了 Future、Promise 和 ScalaSTM 等抽象。
 

目錄

前言

1 簡介
並發程序設計
傳統並發編程技術概述
現代並發范式
Scala的優點
預備知識
執行Scala程序
Scala基礎知識
小結
練習

2 JVM和Java內存模型中的並發處理方式
進程和線程
創建和啟動線程
原子執行方式
調整次序
監控器和同步
死鎖
保衛鎖
中斷線程和正常關閉
Volatile變量
Java內存模型
不可變對象和final字段
小結
練習

3 構建並發程序的傳統材料
Executor和Execution Context對象
原子型基元
原子變量
無鎖編程
以明確方式實現鎖
ABA問題
惰性值
並發集合
並發隊列
並發集和映射
並發遍歷
創建和處理進程
小結
練習

4 使用Future和Promise對象編寫異步程序
Future類
執行Future計算
Future對象的回調函數
Future計算和異常
使用Try類型
致命異常
Future對象中的函數組合
Promise類
轉換基於回調函數的API
擴展Future API
取消異步計算操作
Future對象和阻塞操作
等待Future對象
在異步計算內部執行阻塞操作
ScalaAsync庫
可選的Future框架
小結
練習

5 數據並行集合
Scala集合概述
並行集合的用法
並行集合類的層次結構
配置並行等級
在JVM中度量性能
使用並行集合的注意事項
非可並行化集合
非可並行化操作
並行操作的副作用
不確定的並行操作
可交換和可結合操作符
組合使用並行集合和並發集合
弱一致性迭代器
實現自定義的並行集合
分離器
組合器
可選的數據並行框架
ScalaBlitz框架中的集合層次結構
小結
練習

6 使用Reactive Extensions編寫並發程序
創建Observable對象
Observable對象和異常
Observable協定
實現自定義Observable對象
通過Future對象創建Observable對象
Subscription對象
組合Observable對象
嵌套的Observable對象
處理完善Observable對象失敗的情況
Rx調度器
使用自定義調度器編寫UI應用程序
Subject特征和自頂向下的響應式編程
小結
練習

7 基於軟件的事務內存
原子變量帶來的麻煩
使用基於軟件的事務內存
事務引用
使用atomic語句
組合事務
事務與副作用
單操作事務
嵌套事務
事務和異常
重新嘗試執行事務
通過超時設置重新嘗試執行事務
事務集合
事務局部變量
事務數組
事務映射
小結
練習

8 Actor
使用Actor模型
創建Actor系統和Actor實例
管理無法正常處理的消息
Actor實例的行為和狀態
Akka框架中的Actor層次結構
識別Actor對象
Actor對象的生命周期
Actor對象之間的通信
請求模式
轉發模式
停止Actor對象
Actor監督
遠程Actor對象
小結
練習

9 實用並發技術
工欲善其事,必先利其器
組合使用多種框架——編寫遠程文件管理器
創建文件系統模型
服務器接口
客戶端導航API
客戶端的用戶界面
實現客戶端程序的邏輯
改進遠程文件管理器
調試並發程序
死鎖和暫停處理過程
調試運行結果不正確的程序
性能調試
小結
練習
 

並發處理方式無處不在。隨着多核處理器在消費者市場中崛起,並發編程技術也在軟件開發行業內取得了霸主地位。並發編程技術以前就在程序或計算機系統中被用於實現異步計算,並且自成一個學術領域,而現在並發程序設計已經變成了開發人員普遍使用的軟件開發技術。因此,高級並發框架和庫正在以驚人的速度發展。近年來,並發計算領域呈現出了與文藝復興類似的蓬勃發展景象。
網路書店 類別 折扣 價格
  1. 新書
    $450