Learning Concurrent Programming in Scala - Softcover

Prokopec, Aleksandar

 
9781783281411: Learning Concurrent Programming in Scala

Synopsis

Learn the art of building intricate, modern, scalable concurrent applications using Scala

About This Book

  • Design and implement scalable and easy-to-understand concurrent applications
  • 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, with a particular emphasis on practical, real-world applications
  • Step-by-step tutorial guide, which is full of pragmatic examples

Who This Book Is For

This book is a must-have tutorial for software developers aiming to write concurrent programs in Scala, or broaden their existing knowledge of concurrency.

This book is intended for Scala programmers that have no prior knowledge about concurrent programming, as well as those seeking to broaden their existing knowledge about concurrency. Basic knowledge of the Scala programming language will be helpful. Readers with a solid knowledge in another programming language, such as Java, should find this book easily accessible.

What You Will Learn

  • Get to grips with the fundamentals of concurrent programming on modern multiprocessor systems, with a particular focus on the JVM concurrency model
  • 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
  • Implement reactive and event-based programs declaratively with Rx-style event streams
  • Design safe, scalable, and easy-to-comprehend in-memory transactional data models
  • Transparently create distributed applications that scale across multiple machines
  • Choose the correct concurrency abstraction and integrate different concurrency frameworks together in large applications

In Detail

This book will give you an insight into the best practices necessary to build concurrent programs in Scala using modern, high-level concurrency libraries. It 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. It then walks you through different high-level concurrency abstractions, each tailored toward a specific class of programming tasks. Finally, the book presents an overview of when to use which concurrency library and demonstrates how they all work together.

"synopsis" may belong to another edition of this title.

About the Author

Aleksandar Prokopec

Aleksandar Prokopec is a software developer and a concurrent and distributed programming researcher. He holds an MSc in Computing from the Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia, and a PhD in Computer Science from the Ecole Polytechnique Federale de Lausanne, Switzerland. As a doctoral assistant and member of the Scala team at EPFL, he actively contributed to the Scala programming language, and 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 and Promises and ScalaSTM.

"About this title" may belong to another edition of this title.

Other Popular Editions of the Same Title

9781786466891: Learning Concurrent Programming in Scala - Second Edition

Featured Edition

ISBN 10:  1786466899 ISBN 13:  9781786466891
Publisher: Packt Publishing, 2017
Softcover