IN THIS CHAPTER
Until now, extending the class
Thread has been the only way to define a new class that can have a thread running within it. This chapter shows that the
Runnable interface provides a second, and more often used, mechanism for defining a new class that can have a thread running within it.
Imagine that what you need is a timer graphical component that continually displays the time elapsed since ...