2011-01-31 96 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解決時間。在其他平臺上,你必須尋找合適的時間源。

相關問題