Summer reading
In my previous company we had a relatively infrequent pleasure of playing with a whole panoply of exciting technical stuff from messaging frameworks to application servers. Multithread programming was extremely popular in all those components. Naturally Doug Lea was seen as a semi-god for his library and his unsurpassed book on concurrent programming. I remember a few discussions where we were guessing what a newer edition of the book might have looked like.
This year has brought us an answer - Java Concurrency in Practice. Although technically speaking Mr.Lea is only one of six co-authors (the fact that Joshua Bloch is among them as well immediately highlights the quality of the book) in my mind this is clearly Concurrent Programming in Java 2.0 You are destined to enjoy the book if you admired the '99 edition.
The book generally follows the structure of the original edition but with overwhelming emphasis on util.concurrent as of JDK 1.5 (occasionally even mentioning the forthcoming 1.6). In the tradition of the original book (and quite in contrast to, for example, the corresponding chapter of Core Java vol II) the discussion concentrates on concepts and arcane situations. Consequently, the book is not light reading and the people I know are going to re-read it basically immediately after he first pass. On the other hand, the book is full of nice examples, including those valuable sequencies where a trivial approach is evolved into a production quality design through a few iterations.
There is even a chapter on the new memory model (usually known as JSR 166) implemented in 1.5 I find this chapter more practical than the heavily mathematical approach taken in the last Java Language Specification. All in all, this is a new classics in the Java world and an authoritative treatise on all the aspects of professional concurrent development in Java.
<< Home