Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Threads are essential to Java programming, but learning to use them effectively is a nontrivial task. This new edition of the classic Java Threads shows you how to take full advantage of Java's threading facilities and brings you up-to-date with the watershed changes in Java 2 Standard Edition version 5.0 (J2SE 5.0). It provides a thorough, step-by-step approach to threads programming. Java's threading system is simple relative to other threading systems. In earlier versions of Java, this simplicity came with tradeoffs: some of the advanced features in other threading systems were not available in Java. J2SE 5.0 changes all that: it provides a large number of new thread-related classes that make the task of writing multithreaded programs that much easier. You'll learn where to use threads to increase efficiency, how to use them effectively, and how to avoid common mistakes. This book discusses problems like deadlock, race conditions, and starvation in detail, helping you to write code without hidden bugs. Java Threads, Third Edition, has been thoroughly expanded and revised. It incorporates the concurrency utilities from java.util.concurrent throughout. New chapters cover thread performance, using threads with Swing, threads and Collection classes, thread pools, and threads and I/O (traditional, new, and interrupted). Developers who cannot yet deploy J2SE 5.0 can use thread utilities provided in the Appendix to achieve similar functionality with earlier versions of Java. Topics include:

  • Lock starvation and deadlock detection

  • Atomic classes and minimal synchronization (J2SE 5.0)

  • Interaction of Java threads with Swing, I/O, and Collection classes

  • Programmatically controlled locks and condition variables (J2SE 5.0)

  • Thread performance and security

  • Thread pools (J2SE 5.0)

  • Thread groups

  • Platform-specific thread scheduling

  • Task schedulers (J2SE 5.0)

  • Parallelizing loops for multiprocessor machines

In short, this new edition of Java Threads covers everything you need to know about threads, from the simplest animation program to the most complex applications. If you plan to do any serious work in Java, you will find this book invaluable. Scott Oaks is a senior software engineer for the Java Performance Engineering group at Sun Microsystems and the author of four books in the O'Reilly Java series. Formerly a senior systems engineer at Sun Microsystems, Henry Wong is an independent consultant working on various Java related projects.

Subscriber Reviews

Average Rating: 1.5 out of 5 rating Based on 2 Ratings

"Book needs an UPDATE after Java 7" - by MikeekiM on 30-DEC-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Published 2004, come on this is 10 years old.
Report as Inappropriate

"Not the best book to learn concurrency from" - by Mark on 01-SEP-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This book requires a knowledge of SWING for the first few (and basically the most critical) chapters of the book.
The examples in those few chapters contain something like 80% of the SWING code and I was unable to understand from the book why I need SWING to understand topics like locks, "synchronized" and some other basic concepts of concurrency.

In addition to that some of the examples are too much complicated.
Not in the way that make your head explode, but in the way  that after you will spend a few minutes trying to understand the code example, you will be trying to remember what was the topic of the chapter that you was reading.

In addition some topics are missed or covered very briefly (like join(), and etc).

To summarize my experience from this book; I was unable to understand to whom this book was targeted.
- If this was targeted for developers that are new to Threads – I think that the examples are too complicated with a lot of not relevant code.
- If this book is targeted for developers with experience in Threads – I thing the book is too superficial.
- If this book is targeted for SWING developers – I think this the Chapter on GUI should be more than 7 pages.

ONE THING that I did liked about this books is “Chapter 14. Thread Performance” - very nicely written and contains a lot of useful information.


Report as Inappropriate

Table of Contents



The publisher has provided additional content related to this title.


Visit the catalog page for Java Threads, 3rd Edition

  • Catalog Page

Visit the errata page for Java Threads, 3rd Edition

  • Errata

Download the supplemental electronic content for Java Threads, 3rd Edition

  • Supplemental Content