Rating:  Summary: Get the book on your hands Review: Again; 1) Get to a library and check out the book on your own. 2) I hardly grasp the utility of the code (or in most cases pseudo-code) examples, and Yes! they would be good for a "Java Mutithreading for dummies" book. 3) The book contains 236 (? ) references to scientific papers (In order to be objective, I took the time to count them) 4) As you yourself admit resorting to language subtleties, this book is more about the philosophy of concurrency than Java concurrency and again there might be nothing wrong with the book, just its name. Good news is there are options with realistic - Java Multithreading - expositions out there; like Concurrency: State Medels & Java Programs, Jeff _, Jeff _, Jeff _, ISBN 0471987107, for example. Arthur
Rating:  Summary: do not expect to get suspense Review: Although Doug Lea works for Sun and built essential parts of the Java platform, this does not make him a good author. I had to get up to date with Java threading and bought this book. Mistake. From the computer science standpoint it is excellent, but as a typical project constrained programmer I found it absolutely boring. The author steps through the different chapters and subchapters as if he was trying to fill a "this is all I know about threads" list with life. No suspense, no "I could use that", no explaination of common pitfalls... I fell asleep a couple of times reading this book. Next to "deadlocking" Java threads can pose lots of other problems that this book does not cover. For instance threads and Swing or building an event dispatcher that works. A book that covers all that and that I hereby recommend is "Taming Java Threads" from Allen Holub. Two stars, ...it is solid but not useful...
Rating:  Summary: Well worth the effort it demands. Review: Although this is definitely the most difficult programming book I've ever read, it has also been the most valuable. Java threads are either very simple or very complicated, depending on what you need to do. For the simple things, even a general introduction in a book like Core Java will do. For the complicated things, nothing but this book will do. It will reward detailed study like few other programming books I've read. Give the O'Reilly book to your boss to explain what it is you're doing and why, then use Doug's book to get to work.
Rating:  Summary: Fantastic Review: Anyone who says this book does not perform for a working programmer just doesn't have a Computer Science background. When learning something like threads, their issues, and common design patterns, that is the best basis for learning them. This book teaches threads from a Java standpoint, perfect for a Java programmer, but its real use stems from the fact that the knowledge derived from it is reusable again and again and applies to concurrent *and* sequential programming. If a reader were expecting some magic java cure-all, then they probably should not have been reading a book on an advanced programming topic in the first place.
Rating:  Summary: heady stuff Review: Beginners don't bother. But for real programmers, this is a great book, albeit not a particularly easy one.
Rating:  Summary: A must-read for serious programmers Review: Concurrency is difficult to get right. If you're going to be doing concurrent programming - in any language, really - then you should have this book in your toolchest. Even if you've been doing multi-threaded programming for years, CPJ is likely to make you better at it. The book represents the latest thinking and advances in concurrency, and judging from the increase in scope over the first edition, it would appear that the state of the art is evolving rapidly. The second edition is a big improvement over the first: it's better-organized, better-written, and covers much more ground. It also has better treatment of Mr. Lea's "util.concurrent" package, a set of useful synchronization classes that will undoubtedly find their way into the Java platform at some point. This is a hard book to read, which is undoubtedly why it gets so many negative reviews from confused readers. You can't just browse through it in an hour and then expect to be able to write a multi-threaded web server. It covers enough material to fill a grad-level course in CS, and it helps to have a CS degree or the equivalent to get the most out of it. There are probably much better books out there if you want to get "up and running" with threads quickly. If you ever hope to do anything reasonably complex with threading, though, you should get this book and study it carefully.
Rating:  Summary: Everything you need to know about concurrency in Java Review: Concurrent programming is fraught with peril. It's much more complex than sequential programming in every meaningful way from specification to unit testing. But if you want to do it right, meaning balancing liveness with safety for efficient and robust multi-threaded applications, you need Doug Lea's "Concurrent Programming in Java". Especially if you need to design an extensible framework with concurrency; well-known examples of such frameworks incluce Swing, most of java.net, and just about every aspect of J2EE. Lea provides an intense introduction at the level of an advanced undergraduate course. It's fairly academic in tone, because he takes the time to provide thorough definitions and detailed examples. As a former academic who now designs and programs for a living, this is just what I was looking for. But don't buy this book expecting a cookbook of code to cut and paste. It's much more about providing you the fundamental tools to design your own concurrent classes, applications and frameworks. Lea presupposes the user is fluent in Java, knows a bit about concurrent programming patterns involving mutexes, semaphores, etc, and is familiar with the basic object-oriented design patterns. If you're not up to speed in these areas, the path I followed was reading the following: * Lewis's "Threads Primer" (warning: it's C/unix-based), * Gosling and Joy's "Java Programming Language", * Bloch's "Effective Java", and * Gamma et al.'s "Design Patterns". Even if you don't buy this book, consider using Lea's concurrent.util package available from his web site. It provides solid implementations of everything from simple mutexes to concurrent read-single write wrappers for Java collections (Sun's own wrappers simply synchronize all methods, which suffers reduced liveness compared to CRSW designs). And it's both elegantly designed and thoroughly javadoc-ed. The first edition was great, and I've just finished reading the second edition cover to cover and it has taken my understanding of concurrent design to a new level. Just be warned that this book's not for novices or hobbyists; it's for programmers who need to design the guts of concurrent systems the "right" way and then implement them in Java, especially for extensible frameworks.
Rating:  Summary: Everything you need to know about concurrency in Java Review: Concurrent programming is fraught with peril. It's much more complex than sequential programming in every meaningful way from specification to unit testing. But if you want to do it right, meaning balancing liveness with safety for efficient and robust multi-threaded applications, you need Doug Lea's "Concurrent Programming in Java". Especially if you need to design an extensible framework with concurrency; well-known examples of such frameworks incluce Swing, most of java.net, and just about every aspect of J2EE. Lea provides an intense introduction at the level of an advanced undergraduate course. It's fairly academic in tone, because he takes the time to provide thorough definitions and detailed examples. As a former academic who now designs and programs for a living, this is just what I was looking for. But don't buy this book expecting a cookbook of code to cut and paste. It's much more about providing you the fundamental tools to design your own concurrent classes, applications and frameworks. Lea presupposes the user is fluent in Java, knows a bit about concurrent programming patterns involving mutexes, semaphores, etc, and is familiar with the basic object-oriented design patterns. If you're not up to speed in these areas, the path I followed was reading the following: * Lewis's "Threads Primer" (warning: it's C/unix-based), * Gosling and Joy's "Java Programming Language", * Bloch's "Effective Java", and * Gamma et al.'s "Design Patterns". Even if you don't buy this book, consider using Lea's concurrent.util package available from his web site. It provides solid implementations of everything from simple mutexes to concurrent read-single write wrappers for Java collections (Sun's own wrappers simply synchronize all methods, which suffers reduced liveness compared to CRSW designs). And it's both elegantly designed and thoroughly javadoc-ed. The first edition was great, and I've just finished reading the second edition cover to cover and it has taken my understanding of concurrent design to a new level. Just be warned that this book's not for novices or hobbyists; it's for programmers who need to design the guts of concurrent systems the "right" way and then implement them in Java, especially for extensible frameworks.
Rating:  Summary: Probably the best Java book I've read Review: Definitely the best book on Java threading on the market and, in general, one of the best books on Java that I've read (I've been programming Java since it was in alpha). The authour explains complex issues in a simple and succinct way without compromising the deeper aspects topic. If you are looking at a "quicky guide to threads" then this isn't the book for you... but in that case, you probably shouldn't be doing concurrent programming. This is a challenging topic and the book does an excellent job of making it accessible to knowledgeable Java programmers.
Rating:  Summary: No pain no gain - and the gain is substantial Review: Doug covers some complex concepts in multithreading that go beyond merely describing how to multithread Java applications. Although difficult to read this book provides many insights in how to apply multithreading in any environment to the safest and best benefits. One of the best books I own.
|