Packt, 2018 - 264 p.
A definitive guide to mastering and implementing concurrency patterns in your applications
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 patterns