我写了一个小控制台应用程序,我希望它在循环(一段时间)再次开始之前暂停一定的秒数。
我正在使用Windows操作系统。
答案 0 :(得分:11)
在Windows上,执行此操作的功能是Sleep
,它会占用您想要睡眠的毫秒。要使用Sleep
,您需要添加windows.h
。
在POSIX-Systems上,函数sleep
(来自unistd.h
)完成了这个:
unsigned int sleep(unsigned int seconds);
DESCRIPTION
sleep() makes the calling thread sleep until
seconds seconds have elapsed or a signal arrives which is not ignored.
如果被信号中断,则返回剩余睡眠时间。如果你使用信号,一个更强大的解决方案是:
unsigned int time_to_sleep = 10; // sleep 10 seconds
while(time_to_sleep)
time_to_sleep = sleep(time_to_sleep);
这当然是假设你的信号处理程序只花了不可忽视的时间。 (否则,这会使主程序的延迟时间超过预期)
答案 1 :(得分:3)
易:
while( true )
{
// your stuff
sleep( 10 ); // sleeping for 10 seconds
};
答案 2 :(得分:1)