Chapter 4. Modern concurrency

 

This chapter covers

  • Concurrency theory
  • Block-structured concurrency
  • The java.util.concurrent libraries
  • Lightweight concurrency with the fork/join framework
  • The Java Memory Model (JMM)

In this chapter, we’ll begin with basic concepts and a whistle-stop tour of block-structured concurrency. This was the only game in town prior to Java 5, and it’s still worth understanding. Next, we’ll cover what every working developer should know about java.util.concurrent and how to use the basic concurrency building blocks it provides.

We’ll conclude with a look at the new fork/join framework, so that by the end of the chapter, you’ll be ready to start applying these new concurrency techniques in your own code. You’ll also have enough theory to fully grasp the different views of concurrency that we’ll discuss in later parts of the book, when we meet non-Java languages.

4.1. Concurrency theory—a primer

4.2. Block-structured concurrency (pre-Java 5)

4.3. Building blocks for modern concurrent applications

4.4. Controlling execution

4.5. The fork/join framework

4.6. The Java Memory Model (JMM)

4.7. Summary

sitemap