Scheme / Racket相当于ualarm

时间:2013-06-18 15:36:29

标签: timer scheme posix racket

是否有一个等同于ualarm的球拍/方案?

即。如何在Racket中设置系统计时器?

2 个答案:

答案 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(以毫秒为单位)也会启动计时器。