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 book 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. There is thorough coverage of the Thread and ThreadGroup classes, the Runnable interface, and the language's synchronized operator. Java Threads discusses problems like deadlock, race condition, and starvation in detail, helping you to write code without hidden bugs.In addition, Java Threads shows you how to extend Java's thread primitives. A thorough discussion of thread scheduling ends by developing a CPUSchedule class that shows you how to implement your own scheduling policy. Other extended examples include classes that implement reader/writer locks, general locks, locks at arbitrary scope, and asynchronous I/O.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 1.1.