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 only. With Java, even beginners can write multi-threaded applications.
This chapter explains what threads are and why they are important. It also talks about related topics such as synchronization and the visibility problem.
The next time you play a computer game, ask yourself this question: I am not using a multi-processor computer, how come there seems to be two processors running at the same time, one moving the asteroids and one moving the spaceships? Well, the simultaneous movements are possible thanks ...