You could have told me that Java Concurrency in Practice was only about the new and old APIs in Java for dealing with concurrency, and how to use those APIs. I would have believed you and still read the book. It turns out that all of the above is packed in to the first 100 pages of the book.
That's right, the bulk of the Java concurrency APIs are discussed in detail in the first 100 pages of Java Concurrency in Practice. That is the good news, i.e. that there is much more to the book than just explaining APIs. However, it is a lot of information to pack in to the beginning of a book. Fortunately the examples are outstanding.
I knew about a lot of these APIs ahead of time, certainly all of the "classic" Java stuff. The exotic nature of some of the new things really blew me away: CopyOnWriteArrayList
, the list goes on! In some of these cases, I had reinvented that particular wheel at some point in the past. In other cases, there were usage patterns that I was ignorant of, but made a lot of sense courtesy of the examples in the book. And then there was the cellular automata
The examples are definitely the most valuable things, and not just from an understanding-the-API perspective. To me, each example was a concurrency pattern that was modeled for the API. As I said, some of these patterns were familiar to me, but others were not. Patterns are the language of engineers, and thus these concurrency fundamentals really expanded my language.