java.lang.Object | |
↳ | java.util.Timer |
Timer
s are used to schedule jobs for execution in a background process. A
single thread is used for the scheduling and this thread has the option of
being a daemon thread. By calling cancel
you can terminate a
Timer
and its associated thread. All tasks which are scheduled to run after
this point are cancelled. Tasks are executed sequentially but are subject to
the delays from other tasks run methods. If a specific task takes an
excessive amount of time to run it may impact the time at which subsequent
tasks may run.
The TimerTask
does not offer any guarantees about the real-time nature of
scheduling tasks as its underlying implementation relies on the
Object.wait(long)
method.
Multiple threads can share a single Timer
without the need for their own
synchronization.
A Timer
can be set to schedule tasks either at a fixed rate or
with a fixed period. Fixed-period execution is the default.
The difference between fixed-rate and fixed-period execution
is the following: With fixed-rate execution, the start time of each
successive run of the task is scheduled in absolute terms without regard for when the previous
task run actually took place. This can result in a series of bunched-up runs
(one launched immediately after another) if busy resources or other
system delays prevent the Timer
from firing for an extended time.
With fixed-period execution, each successive run of the
task is scheduled relative to the start time of the previous run of the
task, so two runs of the task are never fired closer together in time than
the specified period
.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Creates a new named
Timer which may be specified to be run as a
daemon thread. | |||||||||||
Creates a new named
Timer which does not run as a daemon thread. | |||||||||||
Creates a new
Timer which may be specified to be run as a daemon thread. | |||||||||||
Creates a new non-daemon
Timer . |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Cancels the
Timer and removes any scheduled tasks. | |||||||||||
Removes all canceled tasks from the task queue.
| |||||||||||
Schedule a task for single execution.
| |||||||||||
Schedule a task for repeated fixed-delay execution after a specific delay.
| |||||||||||
Schedule a task for single execution after a specified delay.
| |||||||||||
Schedule a task for repeated fixed-delay execution after a specific time
has been reached.
| |||||||||||
Schedule a task for repeated fixed-rate execution after a specific time
has been reached.
| |||||||||||
Schedule a task for repeated fixed-rate execution after a specific delay
has passed.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class java.lang.Object
|
Creates a new named Timer
which may be specified to be run as a
daemon thread.
name | the name of the Timer . |
---|---|
isDaemon | true if Timer 's thread should be a daemon thread. |
NullPointerException | is name is null
|
---|
Creates a new named Timer
which does not run as a daemon thread.
name | the name of the Timer. |
---|
NullPointerException | is name is null
|
---|
Creates a new Timer
which may be specified to be run as a daemon thread.
isDaemon | true if the Timer 's thread should be a daemon thread.
|
---|
Cancels the Timer
and removes any scheduled tasks. If there is a
currently running task it is not affected. No more tasks may be scheduled
on this Timer
. Subsequent calls do nothing.
Removes all canceled tasks from the task queue. If there are no other references on the tasks, then after this call they are free to be garbage collected.
Schedule a task for single execution. If when
is less than the
current time, it will be scheduled to be executed as soon as possible.
task | the task to schedule. |
---|---|
when | time of execution. |
IllegalArgumentException | if when.getTime() < 0 . |
---|---|
IllegalStateException | if the Timer has been canceled, or if the task has been
scheduled or canceled.
|
Schedule a task for repeated fixed-delay execution after a specific delay.
task | the task to schedule. |
---|---|
delay | amount of time in milliseconds before first execution. |
period | amount of time in milliseconds between subsequent executions. |
IllegalArgumentException | if delay < 0 or period < 0 . |
---|---|
IllegalStateException | if the Timer has been canceled, or if the task has been
scheduled or canceled.
|
Schedule a task for single execution after a specified delay.
task | the task to schedule. |
---|---|
delay | amount of time in milliseconds before execution. |
IllegalArgumentException | if delay < 0 . |
---|---|
IllegalStateException | if the Timer has been canceled, or if the task has been
scheduled or canceled.
|
Schedule a task for repeated fixed-delay execution after a specific time has been reached.
task | the task to schedule. |
---|---|
when | time of first execution. |
period | amount of time in milliseconds between subsequent executions. |
IllegalArgumentException | if when.getTime() < 0 or period < 0 . |
---|---|
IllegalStateException | if the Timer has been canceled, or if the task has been
scheduled or canceled.
|
Schedule a task for repeated fixed-rate execution after a specific time has been reached.
task | the task to schedule. |
---|---|
when | time of first execution. |
period | amount of time in milliseconds between subsequent executions. |
IllegalArgumentException | if when.getTime() < 0 or period < 0 . |
---|---|
IllegalStateException | if the Timer has been canceled, or if the task has been
scheduled or canceled.
|
Schedule a task for repeated fixed-rate execution after a specific delay has passed.
task | the task to schedule. |
---|---|
delay | amount of time in milliseconds before first execution. |
period | amount of time in milliseconds between subsequent executions. |
IllegalArgumentException | if delay < 0 or period < 0 . |
---|---|
IllegalStateException | if the Timer has been canceled, or if the task has been
scheduled or canceled.
|