In this chapter, we have reviewed two components of all concurrent applications. The first one is data structures. Every program uses them to store in memory the information it has to process. We have quickly been introduced to concurrent data structures to create a detailed description of the new features introduced in the Java 8 Concurrency API that affects the
ConcurrentHashMap class and the classes that implement the
The second one is the synchronization mechanisms that allow you to protect your data when more than one concurrent task wants to modify them, and to control the order of execution of the tasks if it's necessary. In this case, we have also quickly been introduced to the synchronization mechanisms, giving a detailed description of
CompletableFuture, a new feature of the Java 8 Concurrency API.
In the next chapter, we will show you how you can implement complete concurrent systems, integrating different parts that can also be concurrent and using...