I recently bought this book from Amazon. Just finished Chapter 3. This book is full of real-life advice about designing and delivering Thread-safe classes. More importantly, it helps us (Java Developers) to question whether the 3rd party library we use in projects are thread-safe or not and spot concurrency "mousetraps".
This books introduces a topic usually with a "Bad" thread example and then reasons out the potential deficiencies (race conditions, etc.) that may happen when things go wrong with that code. Then (thankfully!) they propose a alternative correct solution in easy to understand code.
This book also addresses a gaping hole in current Javadocs standards followed by devlopers : not clearly mentioning the Thread-safety aspect of the class.
In all a excellent book and a must read along with "Effective Java".
Best concurrency book
This is definitely the best concurrency book for Java out there. It gives you pretty much all the concepts you ever need to know about concurrency in general. From basic concurrency principles to concurrency issues that would arise in almost all concurrent programs, and finally to some optimization techniques. It also provides some in-sights on some of the Java concurrent utility classes provided by the JDK package.
However, this book is not for Java beginners. You need to have an intermediate understanding of Java and some general programming/software engineering concepts. Also, if you are just starting with concurrent programming, this book might be slightly challenging at the beginning. But you should be able to pick it up fairly quickly.
And if you are already a concurrency expert or have quite some understandings about concurrency in general, this book will still solve a lot of the myths out there and may inspire you to further research on some of the topics.
Overall, this is a definite buy if you want to do concurrent programming.
I buy this book for every engineer that starts on my team.
This is the best book on java. If you are planning on using java as a real language for development, you should read this book before you write your first interface or draw your first box on the whiteboard.
I buy this book for everyone who starts on my team. It is really that good.
Amazing introduction to multithreaded programming in Java
This book is a must read for anyone who works in multithreaded environment. Even if you don't create threads yourself but use application server or any other environment where multiple threads execute at once, you cannot miss it. This book will tell you why and how synchronization happen - why what you think should work will not and how to read code for multithreaded application. If you never heard about Java Memory Model (JMM) you should not even touch multithreaded applications without reading this book.
Concurrency In Practice
Excellent and timeless work that everyone should read if you are writing Java applications because all apps are now running on multi-processor systems due to progress in Dual/Quad core chip technologies.