如何正确等待n秒

Sim*_*Sim 3 common-lisp

我想实现一个在失败的情况下在重试之前等待n秒的函数,但是实现等待例程的正确方法是什么.

我认为带有if子句的无限循环可能会导致不必要的CPU使用率.

(do ((time (+ (get-universal-time) (- n 1)))
     (time-cur (get-universal-time) (get-universal-time)))
    ((< time time-cur) nil))
Run Code Online (Sandbox Code Playgroud)

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

Vse*_*kin 5

是不是SLEEP您需要的信息?