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 …