Chapter 11Concurrency

There is a great chance that you've heard about the old Moore's law, which states that processing power will double every two years. It was handy for quite some time: you could develop your applications and if the actual performance of the software was poor, you could just wait for a few months so that everyone would have a better computer to handle the appetites of your application. At that time concurrency was only used to handle multitasking, as in a web browser: when you click on a download link, it should be going in parallel, without blocking out the main window.

Sadly, the “free lunch” is over and today to increase the fluidity of your software it is necessary to know how to handle more than one CPU core at the same time. This task is not easy, and the concurrency problem is considered as one of the most difficult in today developer's craft.

But wait, there is more! The long-time reign of mainframes is nearly nonexistent today, and now we are dealing with many small servers instead of a lonely large one. Distributed systems are no longer ...

Get Professional Scala now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.