2012-08-07 43 views
3

我想实现一个在发生故障时重试前等待n秒的函数,但是实现等待例程的正确方法是什么。如何正确等待n秒

我认为带有if-clause的无限循环可能会导致不必要的CPU使用率。

(do ((time (+ (get-universal-time) (- n 1))) 
    (time-cur (get-universal-time) (get-universal-time))) 
    ((< time time-cur) nil)) 

因此:这会被认为是正确的代码还是有更标准的方法?

回答

5

是不是SLEEP你在找什么?

+0

我用google搜索“wait”,找不到任何合适的信息 – Sim 2012-08-07 12:21:15

+0

Just FYSA,在MCL中似乎睡眠是通过进程等待调用来实现的。值得一看的RMCL src如果你好奇。 – 2012-08-07 19:01:52