One of the most appealing features in Java is the support for easy thread programming. Prior to 1995, the year Java was released, threads were the domain of programming experts. With Java, even beginners can write multi-threaded applications.
This chapter introduces what threads are and why they are important. It also talks about problems thread synchronization and thread coordination. Towards the end of the chapter, an overview of two classes, java.util.Timer and javax.swing.Timer, is given.