2012-08-07 113 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