2011-01-31 99 views

回答

3

参见:

http://msdn.microsoft.com/en-us/library/ms686298%28v=vs.85%29.aspx

的代码你参考:

while (clock() < endwait) {} 

显然只是咀嚼CPU在等待时间过去,因此, 25%的使用率(一个核心)。

while (clock() < endwait) { Sleep(1);} 

应该解决你的问题。

+0

感谢您的回复。我是否需要为'sleep()'创建另一个线程?因为我需要定时器在同一时间运行。 – DeadCapacitor 2011-01-31 00:10:42

1

我最好的猜测是你的问题不是clock函数,而是wait函数。

它循环直到达到一定的时间。您应该使用实际挂起程序的功能,如sleep功能。

0

最简单的计时测试是一些伪代码,这样更好的运行:

start = get_time() 
for 1 .. 10: 
    do_the_task() 
end = get_time() 
diff = end - start 
print "%d seconds elapsed", diff 

在Unix衍生平台,gettimeofday(2)返回与自纪元,这使得一些相当不错的秒和毫秒一个struct解决时间。在其他平台上,你必须寻找合适的时间源。

相关问题