Average Customer Review:
( 16 customer reviews )
Write an online review and share your thoughts with other customers.
Most Helpful Customer Reviews
36 of 37 found the following review helpful:
This is could be a classic CS bookDec 04, 1999
By Robert Fielding This book does not belong with other Java books. This is a real computer science textbook that should be sitting next to Rivest's Algorithms book. The use of Java is incidental and makes the book very accessible without detracting from the issues at hand. It has to be one of the most well conceived computer science books ever written. The material covered is maddeningly difficult to master informally because concurrency errors often manifest themselves as rare, random, and disastrous events that cannot be reproduced. Most of the book is laying down a solid formal foundation in which to reason about concurrency; the only hope for getting it right when things are difficult. It also comes with analysis tools (in Java of course!) to help people who learn by exploration, experimentation, and visualisation.
26 of 26 found the following review helpful:
Excellent Textbook on Concurrency Theory and PracticeApr 20, 1999
By Wolfgang Emmerich (we@acm.org) I have used Magee and Kramer's book (or rather their manuscript) twice in the UG programme of the Dept. of Computer Science at University Collge London. I used it to teach a 30 hours course on Concurrency to final year BSc students in Computer Science. The book is very appealing for several reasons: Firstly, it is the only available book that provides an engineering discipline to concurrency. It covers both a sound introduction to the theory of concurrency and practical guidelines how to design concurrent programs using the UML and Java. Secondly, the book is nicely written indeed. The concepts are well motivated, the intriguingly difficult theory of concurrency is well explained and the book is full of examples that show both theory and practice of Concurrency. Thirdly, the book is not only a book; it's a nicely boundled package. It comes with Java demonstration applets that I used to visualize concurrency concepts, such as Monitors, Mutual Exclusion and Fairness in the class room. Moreover, the book includes a CD with a tool that students (and professors) can use for modelling and model checking purposes. The tool implements labelled transition systems analysis and supports visualization of label transition system execution. Finally the web site that accompanies the book is full of exercises and exam questions and model answers are available too. Using this material was a truly positive experience.
20 of 20 found the following review helpful:
Concurrency for the new milleniumSep 27, 1999
By Judith Bishop (jbishop@cs.up.ac.za) I have also used this book in manuscript form for two years at the University of Pretoria, South Africa, and am now using it in Victoria, Canada. In both cases, the book forms the introductory part to a larger course on object-oriented distributed systems. Without this book the students would be lost in the mire of COM, RMI, CORBA etc and learn no principles to carry them through after graduation. Magee and Kramer package up the classical Hoare CSP in such a way that it is palatable, easy to use, and really illustrates difficult points to students on-line. Students say the course is fun. It is fitting that this book should appear just as Tony Hoare retires from Oxford. Magee and Kramer show how concurrency should be done in the new millenium. Just one word of warning: there are five notations to master in the book: FSP modelling, LTS diagrams, UML diagrams, structure diagrams and Java. I found that being forewarned on this aspect helped me explain the need for all of them to students.
16 of 16 found the following review helpful:
extremely useful for understanding concurrency issuesNov 16, 1999
It was only after reading that book that I was able to really understand the conecepts of interleaved actions, race conditions, semaphores and monitors (as well as other concurrency-related issues). As a newcomer to IT generally, reading this book enabled me to understand better the Operating Systems course at Imperial College. I think the reading of this book should precede any approach to a course on operating systems. As a final note, Jeff Kramer is one of the most popular lecturers at the department of computing of Imperial College. Many other studens I spoke too were convinced that his teaching was by far the most efficient. I strongly recommend the book! I still use it at work as an ever useful reference.
40 of 48 found the following review helpful:
Theory yes, practical no.Aug 20, 2006
By Bogus Exception This book is a good example of how to sell a book to people based solely on it's title. I bought it, so they succeeded.
I'll try to be brief, and not rant. The book was obviously written by someone who knows some non-computer concurrency theory. Then another person pasted some examples from early versions of Java. Unfortunately, although the book was written in 2006, it has NOTHING about J2SE 5 in it-nothing.
The most important aspects of concurrency added to Java ever are ommitted. To give you an idea, there are NO entries in the index under the letter "Q". Seriously.
All of the really exciting stuff that "Thinking in Java 4" by Bruce Eckel covers are nowhere to be found in this old classroom text. The most useful components of Java concurrency communication are simply not part of this text. These include all the "Queus" in J2SE 5.
To me, the best part of Java concurrency is the new java.util.concurrent.BlockingQueue interface. LinkedBlockingQueues and ArrayBlockingQueues blow away the old wait(), notify() and notifyAll() way of doing things that this book still uses. Synchronized queues are simply amazing, and I really expected the text to at least talk about how to best use them. Nope.
Another example of something really useful that is ommitted in this "modern" text is the CountDownLatch. I can't believe you can write a book about threading and not include CountDownLatch and CyclicBarrier! Looking for examples of how to use the DelayQueue classes? Sorry-never heard of them. PriorityBlockingQueues? Nope.
Now I know what you must be thinking. "He's being awfully hard on the authors!". But you decide for yourself. Would you buy a book published this year about Java that had no mention of the Executor classes? Thats right, look elsewhere for info on CachedThreadPools, FixedThreadPools, SingleThreadExecutors, ExecutorServices, Futures, and even the most basic Callable.
I mean, seriously. How could they release a book like this with no mention of daemon threads? And of course no mention of the next wave of threading styles, Active Objects/Actors. All the examples are written in Applets, too...
Again, if you are looking for a book on high level theory and lots of strange drawings in bizarre formats that aren't even close to UML-this book is for you.
This is an OK reference for someone who has never heard of concurrency/threading, and has no intention of ever programming.
Update:
The book you really want is:
Java Concurrency in Practice
by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea
Addison-Wesley Professional (May 9, 2006) (mine was July)
ISBN: 0321349601
Trains on all the covers? Whats up with that?
See all 16 customer reviews on Amazon.com
|