Within the dozens of techniques and tips offered here, this book accomplishes at least two goals. First, it shows how concurrency is implemented by default within Java, with material on how built-in features (like the synchronized keyword and its memory model) can be expected to perform when dealing with multiple threads. Naturally, Java threads themselves are also covered, including priorities, scheduling, and the like.
Much of this book looks at ways to improve performance of concurrent code beyond the simple default strategies. After defining criteria for measuring concurrent code (such as safety and "liveness," a measure of running live threads effectively), the book presents dozens of techniques for letting threads work together safely. For the working Java programmer, coverage of patterns that have been implemented in the downloadable java.concurrency package will be the most immediately useful. (Within this nearly encyclopedic survey, short code snippets are used for every pattern and concept.)
Though theoretical at times, this book offers plenty of ideas and sample code to get you started thinking of ways to improve multithreaded code.
Impressively comprehensive, Concurrent Programming in Java offers a veritable bible of techniques for doing two things at once with threads in Java. It's a worthwhile guide to the state-of-the-art strategies for improving the performance of your Java threads. --Richard Dragan
Topics covered: Threads and concurrency in Java, design considerations (safety, liveness, and performance), Before/After Patterns, layering, adapters, immutability and synchronization, deadlock, resource ordering, the Java Memory Model and concurrency, using the java.concurrency package, confinement, refactoring for concurrency, mutexes, read-write locks, recovering from failure, notifications, semaphores, latches, exchanges, transactions, one-way messages, worker threads, polling and event-driven I/O, parallelism techniques (fork/join, computation trees, and barriers), Communicating Sequential Processes (CSP).
In this second edition, you will find thoroughly updated coverage of the Javao 2 platform and new or expanded coverage of:
The Java platform provides a broad and powerful set of APIs, tools, and technologies. One of its most powerful capabilities is the built-in support for threads. This makes concurrent programming an attractive yet challenging option for programmers using the Java programming language.
This book shows readers how to use the Java platform's threading model more precisely by helping them to understand the patterns and tradeoffs associated with concurrent programming.
You will learn how to initiate, control, and coordinate concurrent activities using the class java.lang.Thread, the keywords synchronized and volatile, and the methods wait, notify, and notifyAll. In addition, you will find detailed coverage of all aspects of concurrent programming, including such topics as confinement and synchronization, deadlocks and conflicts, state-dependent action control, asynchronous message passing and control flow, coordinated interaction, and structuring web-based and computational services.
The book targets intermediate to advanced programmers interested in mastering the complexities of concurrent programming. Taking a design pattern approach, the book offers standard design techniques for creating and implementing components that solve common concurrent programming challenges. The numerous code examples throughout help clarify the subtleties of the concurrent programming concepts discussed.
The book is very good in explaining the details of Java concurrency model. It is pretty old, but that is good too, because instead of simply describing new solutions, it actually... Read morePublished 10 months ago by Dimitri K
The book is great. It has a lot of good concepts in it. You will learn a lot from this book. Just be prepared ... it is pretty heavy. Read morePublished 13 months ago by Thomas Groshong
It's the worst book of all the tech books I have read. No proper organizing. You dont feel like reading this book at all when you start. The content is clumsy.Published 15 months ago by Jagadish Karuturi
Before ths book, I was excited by "Programming with Posix Threads".
although this book was published in 1999 ,
Java Concurrency Implementation has been great... Read more
I don't know about this book but having him as a teacher is pretty weird. I'm assuming his book style is the same as teaching, and that is pretty good, he helps you and knows... Read morePublished on February 6, 2009 by J. Neal
The book contains a lot of concurrent and parallel programming theories, but the organization of the contents is not well formed, such that the reading and understanding of the... Read morePublished on October 23, 2007 by Ray Ye
Sure he knows his stuff but doesn't have a clue on how to write. This is appallingly poorly written. Read morePublished on April 19, 2006 by Mr. Patrick M. Thompson
This is a kind of book you'll need to start developing concurrent systems in Java. It shows details of what should be done to safely handle patterns for concurrent programs. Read morePublished on January 15, 2006 by Omar B.
This is the best book I have ever read on threading, and certainly applies well to other languages naturally (especially languages with a modern and mature thread library like... Read morePublished on January 9, 2006 by ActiveScott