我想实现一个函数,它在失败的情况下重试之前等待 n 秒,但是实现等待例程的正确方法是什么。
我认为带有 if 子句的无限循环可能会导致不必要的 CPU 使用。
(do ((time (+ (get-universal-time) (- n 1)))
(time-cur (get-universal-time) (get-universal-time)))
((< time time-cur) nil))
因此:这会被认为是正确的代码还是有更标准的方法?
我想实现一个函数,它在失败的情况下重试之前等待 n 秒,但是实现等待例程的正确方法是什么。
我认为带有 if 子句的无限循环可能会导致不必要的 CPU 使用。
(do ((time (+ (get-universal-time) (- n 1)))
(time-cur (get-universal-time) (get-universal-time)))
((< time time-cur) nil))
因此:这会被认为是正确的代码还是有更标准的方法?