Learning Concurrent Programming in Scala - Second Edition
暫譯: Scala 並發程式設計學習 - 第二版

Aleksandar Prokopec

  • 出版商: Packt Publishing
  • 出版日期: 2017-02-24
  • 定價: $1,470
  • 售價: 6.0$882
  • 語言: 英文
  • 頁數: 434
  • 裝訂: Paperback
  • ISBN: 1786466899
  • ISBN-13: 9781786466891
  • 相關分類: JVM 語言
  • 相關翻譯: Scala並發編程 第2版 (簡中版)
  • 立即出貨 (庫存=1)

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

商品描述

Key Features

  • Make the most of Scala by understanding its philosophy and harnessing the power of multicores
  • Get acquainted with cutting-edge technologies in the field of concurrency, through practical, real-world applications
  • Get this step-by-step guide packed with pragmatic examples

Book Description

Scala is a modern, multiparadigm programming language designed to express common programming patterns in a concise, elegant, and type-safe way. Scala smoothly integrates the features of object-oriented and functional languages.

In this second edition, you will find updated coverage of the Scala 2.12 platform. The Scala 2.12 series targets Java 8 and requires it for execution. The book starts by introducing you to the foundations of concurrent programming on the JVM, outlining the basics of the Java Memory Model, and then shows some of the classic building blocks of concurrency, such as the atomic variables, thread pools, and concurrent data structures, along with the caveats of traditional concurrency.

The book then walks you through different high-level concurrency abstractions, each tailored toward a specific class of programming tasks, while touching on the latest advancements of async programming capabilities of Scala. It also covers some useful patterns and idioms to use with the techniques described. Finally, the book presents an overview of when to use which concurrency library and demonstrates how they all work together, and then presents new exciting approaches to building concurrent and distributed systems.

What you will learn

  • Get to grips with the fundamentals of concurrent programming on modern multiprocessor systems
  • Build high-performance concurrent systems from simple, low-level concurrency primitives
  • Express asynchrony in concurrent computations with futures and promises
  • Seamlessly accelerate sequential programs by using data-parallel collections
  • Design safe, scalable, and easy-to-comprehend in-memory transactional data models
  • Transparently create distributed applications that scale across multiple machines
  • Integrate different concurrency frameworks together in large applications
  • Develop and implement scalable and easy-to-understand concurrent applications in Scala 2.12

About the Author

Aleksandar Prokopec, who also authored the first edition of this book, is a concurrent and distributed programming researcher. He holds a PhD in computer science from the École Polytechnique Fédérale de Lausanne, Switzerland. He has worked at Google and is currently a principal researcher at Oracle Labs.

As a member of the Scala team at EPFL, Aleksandar actively contributed to the Scala programming language, and he has worked on programming abstractions for concurrency, data-parallel programming support, and concurrent data structures for Scala. He created the Scala Parallel Collections framework, which is a library for high-level data-parallel programming in Scala, and participated in working groups for Scala concurrency libraries, such as Futures, Promises, and ScalaSTM. Aleksandar is the primary author of the reactor programming model for distributed computing.

Table of Contents

  1. Introduction
  2. Concurrency on the JVM and the Java Memory Model
  3. Traditional Building Blocks of Concurrency
  4. Asynchronous Programming with Futures and Promises
  5. Data-Parallel Collections
  6. Concurrent Programming with Reactive Extensions
  7. Software Transactional Memory
  8. Actors
  9. Concurrency in Practice
  10. Reactors

商品描述(中文翻譯)

**主要特點**
- 透過理解 Scala 的哲學並利用多核心的力量,充分發揮 Scala 的潛力
- 透過實際的真實應用,熟悉並了解並發領域的尖端技術
- 獲得這本充滿實用範例的逐步指南

**書籍描述**
Scala 是一種現代的多範式程式語言,旨在以簡潔、優雅且類型安全的方式表達常見的程式設計模式。Scala 平滑地整合了物件導向和函數式語言的特性。

在這第二版中,您將找到對 Scala 2.12 平台的更新內容。Scala 2.12 系列針對 Java 8,並需要 Java 8 來執行。本書首先介紹 JVM 上的並發程式設計基礎,概述 Java 記憶體模型的基本概念,然後展示一些並發的經典構建塊,例如原子變數、執行緒池和並發資料結構,以及傳統並發的注意事項。

接著,本書將引導您了解不同的高階並發抽象,每個抽象都針對特定類別的程式任務,同時觸及 Scala 的非同步程式設計能力的最新進展。它還涵蓋了一些有用的模式和慣用法,以便與所描述的技術一起使用。最後,本書概述了何時使用哪種並發庫,並演示它們如何協同工作,然後介紹構建並發和分散式系統的新興方法。

**您將學到的內容**
- 理解現代多處理器系統上的並發程式設計基礎
- 從簡單的低階並發原語構建高效能的並發系統
- 使用 futures 和 promises 在並發計算中表達非同步性
- 通過使用資料平行集合無縫加速順序程式
- 設計安全、可擴展且易於理解的記憶體內事務資料模型
- 透明地創建可在多台機器上擴展的分散式應用程式
- 在大型應用程式中整合不同的並發框架
- 在 Scala 2.12 中開發和實現可擴展且易於理解的並發應用程式

**關於作者**
**Aleksandar Prokopec**,本書的第一版作者,也是並發和分散式程式設計的研究者。他擁有瑞士洛桑聯邦理工學院的計算機科學博士學位。他曾在 Google 工作,目前是 Oracle Labs 的首席研究員。

作為 EPFL Scala 團隊的成員,Aleksandar 積極貢獻於 Scala 程式語言,並在 Scala 的並發、資料平行程式設計支援和並發資料結構的程式抽象方面工作。他創建了 Scala Parallel Collections 框架,這是一個用於 Scala 的高階資料平行程式設計的庫,並參與了 Scala 並發庫的工作小組,如 Futures、Promises 和 ScalaSTM。Aleksandar 是分散式計算的反應器程式設計模型的主要作者。

**目錄**
1. 介紹
2. JVM 上的並發與 Java 記憶體模型
3. 傳統的並發構建塊
4. 使用 Futures 和 Promises 的非同步程式設計
5. 資料平行集合
6. 使用反應式擴展的並發程式設計
7. 軟體事務記憶體
8. 演員
9. 實踐中的並發
10. 反應器

最後瀏覽商品 (19)