是否有一个等同于ualarm的球拍/方案?
即。如何在Racket中设置系统计时器?
答案 0 :(得分:5)
如果您想在time-to-wait
毫秒后异步进行某些操作,可以使用alarm-evt
,如下所示:
(thread
(lambda ()
(sync (alarm-evt (+ (current-inexact-milliseconds) time-to-wait)))
.... do something here ....))
根据您正在做的事情,Óscar的答案(timer%
)可能会更方便。
答案 1 :(得分:4)
完全完全,如ualarm
(这不是系统调用!),但也许您可以使用timer%
来执行您想要的操作:
timer%
对象封装了基于事件的警报。要使用计时器,请使用timer-callback
thunk实例化它以执行基于警报的操作,或者派生新类并覆盖notify
方法以执行基于警报的操作。使用start
启动计时器并使用stop
停止计时器。创建计时器时提供初始interval
(以毫秒为单位)也会启动计时器。