16 Advanced concurrent programming

This chapter covers

  • The Fork/Join API
  • Work-stealing algorithms
  • Concurrency and functional programming
  • Under the hood with Kotlin coroutines
  • Clojure concurrency
  • Software transactional memory
  • Agents

In this chapter, we will bring together several themes from earlier chapters. In particular, we will weave together the functional programming concepts from previous chapters with the Java concurrency libraries from chapter 6. Our non-Java languages get included as well, with some novel concurrency aspects of both Kotlin and Clojure appearing later in the chapter.

Note The concepts in this chapter, such as coroutines and agents (aka actors), are also increasingly part of the landscape of Java concurrency.

We’ll kick ...

Get The Well-Grounded Java Developer, Second Edition 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.