Data structures are an essential part of every program. You always have to manage the data that you store in a data structure. Arrays, lists, or trees are examples of common data structures. The Java API provides a lot of ready-to-use data structures, but when you work with concurrent applications, you have to be careful because not all structures provided by the Java API are thread-safe. If you choose a data structure that is not thread-safe, you can have inconsistent data in your applications.
When you want to use a data structure in your concurrent application, you have to review the documentation of the class that implements that data structure to check that it supports concurrent operations. Java provides the following two kinds of concurrent data structures:
- Non-blocking data structures: All the operations provided by these data structures to...