Class SimpleScheduler

Simple event scheduler - toss an event on the queue and it gets fired at the
appropriate time. The method that is fired however should NOT block (otherwise
they b0rk the timer).
This is like SimpleTimer but addEvent() for an existing event adds a second
job. Unlike SimpleTimer, events cannot be cancelled or rescheduled.
For events that cannot or will not be cancelled or rescheduled -
for example, a call such as:
SimpleTimer.getInstance().addEvent(new FooEvent(bar), timeoutMs);
use SimpleScheduler instead to reduce lock contention in SimpleTimer...
For periodic events, use addPeriodicEvent(). Unlike SimpleTimer,
uncaught Exceptions will not prevent subsequent executions.

addPeriodicEvent

Queue up the given event to be fired after timeoutMs and every
timeoutMs thereafter. The TimedEvent must not do its own rescheduling.
As all Exceptions are caught in run(), these will not prevent
subsequent executions (unlike SimpleTimer, where the TimedEvent does
its own rescheduling).

addPeriodicEvent

Queue up the given event to be fired after initialDelay and every
timeoutMs thereafter. The TimedEvent must not do its own rescheduling.
As all Exceptions are caught in run(), these will not prevent
subsequent executions (unlike SimpleTimer, where the TimedEvent does
its own rescheduling)