Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

Java threads: A comparative book review

Choose the best tutorial for learning to program with Java threads

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Ever since the first editions of Java Threads from O'Reilly and Concurrent Programming in Java from Addison-Wesley came out several years ago, I've been recommending them to people who want to learn to use threads. With several competing books, and second editions of the originals, now available, I have decided to reassess my recommendations. In this article, I'll look at six of the latest Java thread programming books.

The six books reviewed are:

  1. Java Threads, Second Edition, Scott Oaks and Henry Wong (O'Reilly)
  2. Concurrent Programming in Java, Second Edition, Doug Lea (Addison-Wesley)
  3. Taming Java Threads, Allen Holub (Apress)
  4. Java Thread Programming, Paul Hyde (Sams)
  5. Multithreaded Programming with Java Technology, Bil Lewis and Daniel Berg (Prentice Hall, Sun Press)
  6. High Performance Java Platform Computing: Multithreaded and Networked Programming, Thomas Christopher and George Thiruvathukal (Prentice Hall, Sun Press)


The table below provides a quick review of the six books' main characteristics.

All books are based on the 1.2.x release of the Java 2 platform.
Threads Books Overview
  Java Threads Concurrent Programming Taming Java Threads Java Thread Programming Multithreaded Programming High Performance Java
Price 2.95 9.95 4.95 4.99 9.99 9.99
Total Pages 320 410 300 510 460 410
CD-ROM/Source from Web No / Yes No / Yes No / Yes No / Yes No / Yes No / Yes
Thread Basics Excellent Fair None Excellent Excellent Fair
Techniques Very Good Good Very Good Excellent Good Very Good
Design Patterns None Excellent Poor None None Good
Scale: None, Poor, Average, Good, Very Good, Excellent


The table should be fairly self-explanatory up to the CD-ROM attribute. Let me further explain the last few rows:

  • The Thread Basics attribute indicates the extent to which the books describe what a thread is and how to use it: describing the Thread class and Runnable interface, the Object methods of wait(), notify(), and notifyAll(), and the synchronized keyword.
  • The Techniques attribute evaluates how well the books explore techniques in using threads.
  • The Design Patterns attribute measures the books' explanation of how to create thread-based programming following well-defined design patterns.


Next, I will review each book. Beside each book's title is a star rating, based on the area of thread coverage on which that book claims to focus, not just an average of the three attributes listed above. One star indicates a poor job; the highest rating (five stars) designates exceptional coverage.

Java Threads

star star star star star

The first edition of Java Threads, by Scott Oaks and Henry Wong, was the original definitive resource for learning to program with threads. While most introductory books went over what a thread was and how to use the Thread class with the Runnable interface, Java Threads provided the additional information necessary to effectively use them. The second edition follows in its footsteps: it includes updated information on using threads with the Java 2 platform, information on the deprecated APIs, interrupting I/O, and the Java 2 security changes. The book also covers multithreading issues with the Swing component set, and provides help with native scheduling support and working with multiprocessor machines.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources