Summary
This chapter demonstrated some of the most commonly used approaches to solving concurrent problems. It also showed the importance of previously acquired knowledge, concurrent application development requires more precision and discipline to achieve the desired result, similar to the knowledge of Java platform internals discussed in Chapter 2, Discovering the Java Platform for Design Patterns.
Each currently adopted pattern forces the creation of a sustainable, clean application code base. Many of them clearly follow and use discussed development approaches such as APIE or SOLID.
The evolution of the Java platform tends to simplify how to approach the platform’s concurrency capabilities. One good example has been already mentioned in some of the sections in this chapter. Features such as CompletableFuture
or Executors
utils have been around for a while, but upcoming ones might be worth considering. The tentative goal with virtual threads is to increase application...