The JavaTM Tutorial
Previous Page Lesson Contents Next Page Start of Tutorial > Start of Trail > Start of Lesson Search
Feedback Form

Trail: Essential Java Classes
Lesson: Threads: Doing Two or More Tasks At Once

Questions and Exercises: Threads

Questions

  1. What method in Timer or TimerTask can you use to determine when the task was most recently scheduled to execute? (Hint: You can find the answer by looking at the API documentation for Timer and TimerTask. Remember that these classes were introduced in version 1.3 of the Java platform.)

  2. What is the effect of calling the start method on a Thread object?

  3. What are the two ways you can provide the implementation for a thread’s run method?

Exercises

  1. Convert AnnoyingBeep.java (in a .java source file) so that the initial delay is 5 seconds, instead of 0.

  2. Convert AnnoyingBeep.java (in a .java source file) to use the scheduleAtFixedRate method instead of schedule to schedule the task. Change the implementation of the run method so that if the run method is called too late for a warning beep (say, more than 5 milliseconds after it was scheduled to run), nothing happens--no beep and string are generated. (Hint: Remember your answer to question 1.)

  3. Change the main program of TwoThreadsTest.java (in a .java source file) so that it creates a third thread, named "Bora Bora". Compile and run the program again. Note that you will also need SimpleThread.java (in a .java source file). Does this change your vacation destiny?

  4. Compile and run RaceTest.java (in a .java source file) and SelfishRunner.java (in a .java source file) on your computer. Do you have a time-sliced system?

  5. Well-behaved threads voluntarily relinquish the CPU periodically and give other threads an opportunity to run. Rewrite the SelfishRunner (in a .java source file) class to be a PoliteRunner. Be sure to modify the main program in RaceTest.java (in a .java source file) to create PoliteRunners instead of SelfishRunners.
Check your answers. (in the Essential Java Classes trail)

Previous Page Lesson Contents Next Page Start of Tutorial > Start of Trail > Start of Lesson Search
Feedback Form

Copyright 1995-2005 Sun Microsystems, Inc. All rights reserved.