Threads may be seen as methods that execute at "the same time" as other methods. Normally, we think sequentially when writing a computer program. From this perspective, only one thing executes at a time. However, with today's multi-core processors, it is possible to literally have several things going on at the very same time while sharing the same memory. There are lots of ways that this is done in the real world, and this chapter goes over them in a way that you can apply to your own projects.
14.3 From the Java Library: java.
Thread Control
The various methods in the Thread class (Fig. 14.4) can be used to exert some control over a thread’s execution. The start() and stop()
methods play the obvious roles of starting and stopping a thread. These
methods will sometimes be called automatically. For example, an applet
is treated as a thread by the browser, or applet viewer, which is responsible
for starting and stopping it.
As we saw in the NumberThread example, the run() method encapsulates the thread’s basic algorithm. It is usually not called directly. Instead, it is called by the thread’s start() method, which handles any system-dependent initialization tasks before calling run().