Name

Timer

Synopsis

A class that allows code to be scheduled for execution in the future. A Timer creates a dedicated thread which it uses to execute code in one or more TimerTask objects. These objects are passed to it using its schedule() and scheduleAtFixedRate() methods.

To schedule a task to be run once, use one of the two-argument variants of schedule(), passing it either the delay in milliseconds until its only execution, or a Date object holding the required execution time.

The three-argument schedule() methods arrange for the task to be run at a given initial time, or after an initial delay and then subsequently executed with a fixed delay between the start times. If task execution is delayed for any reason, the next execution of the same task will also be delayed. Over time, these delays can increase, so this mode of operation is acceptable when the total number of times that the task is run in a given period is not critical (e.g., polling a mail server for undelivered mail).

When it is important that tasks be executed with a given average frequency, such as graphics animation, the scheduleAtFixedRate() method should be used instead. This method does not schedule each execution relative to the start time of the previous one. Instead, it attempts to compensate for delays by scheduling the task more often in order to maintain the desired long-term execution frequency. This might mean that the task will occasionally run more often than an identical task scheduled using ...

Get J2ME in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.