All Manuals > LispWorks® User Guide and Reference Manual > 42 The MP Package

schedule-timer-milliseconds Function

Summary

Schedules a timer to expire after a given amount of time.

Package

mp

Signature

schedule-timer-milliseconds timer absolute-expiration-time &optional repeat-time => timer

Arguments
timer
A timer.
absolute-expiration-time
A non-negative real number or nil.
repeat-time
A non-negative real number or nil.
Values
timer
A timer.
Description

The function schedule-timer-milliseconds schedules a timer to expire at a given time after the start of the program. timer is a timer returned by make-timer or make-named-timer. absolute-expiration-time is a non-negative real number of milliseconds since the start of the program at which timer is to expire. If repeat-time is specified, it is a non-negative real number of milliseconds that specifies a repeat interval. Each time timer expires, it is rescheduled to expire after this repeat interval.

If timer is already scheduled to expire at the time this function is called, it is rescheduled to expire at the time specified by absolute-expiration-time. If that argument is nil, timer is not rescheduled, but the repeat interval is set to the interval specified by repeat-time.

If timer is not scheduled or has already expired and absolute-expiration-time is nil and repeat-time is non-nil, then timer is scheduled to the current time plus repeat-time. Note: this is new in LispWorks 8.0. In previous versions, this would have signaled an error.

The function schedule-timer-relative-milliseconds schedules a timer to expire at a time relative to the call to that function.

Notes

schedule-timer-milliseconds has the same precision as schedule-timer, but may avoid some allocation when computing the time.

Examples

The following example schedules a timer to expire 15 minutes after the start of the program and every 5 minutes thereafter.

(setq timer
      (mp:make-timer 'print 10 *standard-output*))
#<Time Event : PRINT>
(mp:schedule-timer-milliseconds timer 900000 300000)
#<Time Event : PRINT>
See also

make-named-timer
make-timer
schedule-timer
schedule-timer-relative
schedule-timer-relative-milliseconds
timer-expired-p
timer-name
unschedule-timer


LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:51