Java Generics and Collections, 1st Edition
by Maurice Naftalin; Philip Wadler
Java Network Programming, 3rd Edition
by Elliotte Rusty Harold
Java Concurrency in Practice
by Brian Goetz; Tim Peierls; Joshua Bloch; Joseph Bowbeer; David Holmes; Doug Lea
Java™ I/O, 2nd Edition
by Elliotte Rusty Harold
Java NIO
by Ron Hitchens
Learning Java, Third Edition
by Patrick Niemeyer; Jonathan Knudsen
Eclipse Cookbook
by Steve Holzner
Java Threads, 3rd Edition
by Scott Oaks; Henry Wong
Eclipse, 1st Edition
by Steve Holzner
Swing Hacks
by Joshua Marinacci; Chris Adamson
Threads aren't a new idea: many operating systems and languages support them. But despite widespread support, threads tend to be something that everyone talks about, but few use. Programming with threads has a reputation for being tricky and nonportable. Not so with Java. Java's thread facilities are easy to use, and--like everything else in Java--are completely portable between platforms. And that's a good thing, because it's impossible to write anything but the simplest applet without encountering threads. If you want to work with Java, you have to learn about threads. This new edition shows you how to take full advantage of Java's thread facilities: where to use threads to increase efficiency, how to use them effectively, and how to avoid common mistakes. Java Threads discusses problems like deadlock, race condition, and starvation in detail, helping you to write code without hidden bugs. It brings you up to date with the latest changes in the thread interface for JDK 1.2. The book offers a thorough discussion of the Thread and ThreadGroup classes, the Runnable interface, the language's synchronized operator. It explains thread scheduling ends by developing a CPUSchedule class, showing you how to implement your own scheduling policy. In addition, Java Threads shows you how to extend Java's thread primitives. Other extended examples include classes that implement reader/writer locks, general locks, locks at arbitrary scope, and asynchronous I/O. This edition also adds extensive examples on thread pools, advanced synchronization technique, like condition variables, barriers, and daemon locks. It shows how to work with classes that are not thread safe, and pays special attention to threading issues with Swing. A new chapter shows you how to write parallel code for multiprocessor machines. In short, Java Threads covers everything you need to know about threads, from the simplest animation applet to the most complex applications. If you plan to do any serious work in Java, you will find this book invaluable. Examples available online. Covers Java 2.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 41 Ratings
Comprehensive coverage of multithreading and Java 5 inclusions. - 2006-05-08
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
<< Review of the 3rd Edition >>
This book is written for developers who are targeting the second wave of java programs - Intermediate to advanced level programmers will be able to get best value out of this book. Developers who are already familiar with the basics of java may also be able to get some value, but if you are completely new to java, please look elsewhere.
Without any futher ado, i will dive right into the deep end of the pool. This book is partitioned into 4 logical sections, though it is not explicit in the TOC.
1. Important Threading Concepts:
In this section, the author prepares us with the fundamentals of creating and managing a thread, basic synchronization concepts, synchronized keyword, lock mechanism, thread communication using wait-notify and condition-variables, minimal synchronization using volatile keyword and atomic variables, advanced synchronization classes like Barrier, Semaphore, CountdownLatch, etc. Chapters 1 through 6 underwrite this section and this is by-far the best part of the book.
2. Thread Pools/Schedulers:
This section first lectures around how thread scheduling materializes in java and how it is related to the underlying Operating System. Next, you are guided through a tour of Thread Pools and Task Schedulers that will enlighten us with quite a few new classes in java 5. Chapters 9 through 11 cover this section.
3. Threading and other Java APIs:
This section details how the threading API plays with other inbuilt java APIs like Collections, IO and Swing. Chapters 7,8 and 12 cover this section.
4. Misc topics:
Some miscellaneous thread topics like ThreadGroup, Security, Class Loading, Exception Handling and Performance are addressed in this section. Chapters 13, 14, and 15 cover this section.
Though this book wasn't an easy read, i found it extremely encouraging to have ONE comprehensive manual to understand both the threading concepts and the new java 5 inclusions. I recommend this book to anyone who is in the middle of a complex multi-threaded system or wishes to create one.
review of first edition - 2006-06-01
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Before I bought this book, I had to prototype threading examples in my own workspace, setting up race conditions and such, but it was a lot of work and left a lot unexplained.
Scott Oaks, the author, did a good job of describing the synchronization process and the various Object methods relating to threading protocol. There were plenty of good examples, and clarification on several minor technical points including: how the wait/notify methods release monitors, the determinability of prioritization, and the practical uses of threadgroups. If you have nagging questions, you may find them answered here.
O'Reilly books are small-sized, which makes for easy carrying and storage. Little if any of their content is redundant or inaccurate. Given how dry the material is, O'Reilly astounds me by consistently finding authors who can write well, have something to say, and whose works can be read in a sitting.
Of course, it's important to mention that some things have changed since the first edition of this book. Methods like resume(), suspend(), and stop() have been deprecated due to their unpredictablity; the JVM will now enable programmers to address multiple processes; and there are a variety of classes which facilitate thread administration. A newer edition will bring you up to speed on those details, but this first edition is still a valid reference in all other respects.
Lots of experimental data, clear answers - 2007-04-02
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book provides answers to questions on threading that have confused me for a long time:
1. Why use a thread pool and why not?
2. How expensive are synchronization, thread creation and concurrent collections?
It clears up a lot of myths and rumors I have heard.
Tutorial more than reference - 2009-07-27
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book is fine if you are looking to start at page 1 and buy into their ongoing eg program. My gripe is that
the eg program is Swing based. I hate Swing eg's in general. They generally just make the specific point that is being demonstrated more difficult to identify. So, please, all you authors out there, for the love of god don't use Swing eg's unless your writing a book on Swing.
It's the sort of book that makes you work to understand things that you already know.
right book - 2009-05-13
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
after initial issues with sellers that did not reply to 5 emails the book arrived in time and in very good status.
Top Level Categories:
Programming
Sub-Categories:
Programming > Java
Java > Multithreading
Java > Swing
Some information on this page was provided using data from Amazon.com®. View at Amazon >