3.48 timer%
A timer% object encapsulates an event-based alarm. To use a
timer, either instantiate it with a timer-callback thunk to perform the alarm-based action, to derive a new class and override the
notify method to perform the alarm-based action. Start a timer with
start and stop it with
stop. Supplying an initial interval (in milliseconds) when creating
a timer also starts the timer.
Timers have a relatively high priority in the event queue. Thus, if
the timer delay is set low enough, repeated notification for a timer
can preempt user activities (which might be directed at stopping the
timer). For timers with relatively short delays, call
yield within the
notify procedure to allow guaranteed event processing.
See Eventspaces for more information about event priorities.
(->newtimer% [(notify-callback_)] [(interval_)] [(just-once?_)])timer%object
notify-callback=: procedure of no argumentsvoid
interval=#f: exact integer in [0, 1000000000] or#f
just-once?=#f: booleanCreates a timer.
The
notify-callbackthunk is called by the defaultnotifymethod when the timer expires.If
intervalis#f(the default), the timer is not started; in that case,startmust be called explicitly. Ifintervalis a number (in milliseconds), thenstartis called withintervalandjust-once?.
Methods
interval
notify
start
stop