Description: Most of my students have never done concurrent programming in Java or used Java threads, so I start out by putting the program shown in Listing 1 on an overhead. I use this program to teach concurrent programming for two reasons. The first reason is that many students do not believe threads are useful. This program shows that threads are not only useful, but are pervasive, if hidden, in modern programming environments. The second reason is to make them aware that a GUI thread is present when they use the Java AWT. Because this thread is present, it is important that programs using the AWT account for synchronization and deadlock, as in any concurrent program.