A definitive guide to mastering and implementing concurrency patterns in your applications
Key FeaturesBuild scalable apps with patterns in multithreading, synchronization, and functional programmingExplore the parallel programming and multithreading techniques to make the code run fasterEfficiently use the techniques outlined to build reliable applicationsBook Description
Selecting the correct concurrency architecture has a significant impact on the design and performance of your applications. This book explains how to leverage the different characteristics of parallel architecture to make your code faster and more efficient.
To start with, you'll understand the basic concurrency concepts and explore patterns around explicit locking, lock free programming, futures & actors. Then, you'll get insights into different concurrency models and parallel algorithms and put them to practice in different scenarios to realize your application's true potential. We'll take you through multithreading design patterns, such as master, slave, leader, follower, map-reduce, and monitor, also helping you to learn hands-on coding using these patterns.
Once you've grasped all of this, you'll move on to solving problems using synchronizer patterns. You'll discover the rationale for these patterns in distributed & parallel applications, followed by studying how future composition, immutability and the monadic flow help create more robust code.
Toward the end of the book, you'll learn about the actor paradigm and actor patterns — the message passing concurrency paradigm.
What you will learnExplore parallel architecture Get acquainted with concurrency models Internalize design themes by implementing multithreading patterns Get insights into concurrent design patterns Discover design principles behind many java threading abstractions Work with functional concurrency patternsWho this book is for
This is a must-have guide for developers who want to learn patterns to build scalable and high-performing apps. It’s assumed that you already have a decent level of programming knowledge.
Atul S. Khot is a self-taught programmer and has written software programmes in C and C++. Having extensively programmed in Java and dabbled in multiple languages, these days, he is increasingly getting hooked on Scala, Clojure, and Erlang. Atul is a frequent speaker at software conferences and a past Dr. Dobb's product award judge. He was the author of Scala Functional Programming Patterns and Learning Functional Data Structures and Algorithms, published by Packt Publishing.