java.lang.Objectjava.util.TimerTask
All Implemented Interfaces:
Runnable
Direct Known Subclasses:
TimerAlarmClock
Josh - Bloch1.3 - | Field Summary | ||
|---|---|---|
| final Object | lock | This object is used to control access to the TimerTask internals. |
| int | state | The state of this task, chosen from the constants below. |
| static final int | VIRGIN | This task has not yet been scheduled. |
| static final int | SCHEDULED | This task is scheduled for execution. If it is a non-repeating task, it has not yet been executed. |
| static final int | EXECUTED | This non-repeating task has already executed (or is currently executing) and has not been cancelled. |
| static final int | CANCELLED | This task has been cancelled (with a call to TimerTask.cancel). |
| long | nextExecutionTime | Next execution time for this task in the format returned by System.currentTimeMillis, assuming this task is scheduled for execution. For repeating tasks, this field is updated prior to each task execution. |
| long | period | Period in milliseconds for repeating tasks. A positive value indicates fixed-rate execution. A negative value indicates fixed-delay execution. A value of 0 indicates a non-repeating task. |
| Constructor: |
|---|
|
| Method from java.util.TimerTask Summary: |
|---|
| cancel, run, scheduledExecutionTime |
| Methods from java.lang.Object: |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from java.util.TimerTask Detail: |
|---|
Note that calling this method from within the run method of a repeating timer task absolutely guarantees that the timer task will not run again. This method may be called repeatedly; the second and subsequent calls have no effect. |
|
This method is typically invoked from within a task's run method, to determine whether the current execution of the task is sufficiently timely to warrant performing the scheduled activity:
public void run() {
if (System.currentTimeMillis() - scheduledExecutionTime() >=
MAX_TARDINESS)
return; // Too late; skip this execution.
// Perform the task
}
This method is typically not used in conjunction with
fixed-delay execution repeating tasks, as their scheduled
execution times are allowed to drift over time, and so are not terribly
significant. |