如何調用方法/函數每秒50次,然後計算所花費的時間,如果花費的時間少於一秒,那麼睡眠時間爲(1-timespent)秒。如何在一秒鐘內調用方法/函數50秒
下面是僞代碼
while(1)
{
start_time = //find current time
int msg_count=0;
send_msg();
msg_count++;
// Check time after sending 50 messages
if(msg_count%50 == 0)
{
curr_time = //Find current time
int timeSpent = curr_time - start_time ;
int waitingTime;
start_time = curr_time ;
waitingTime = if(start_time < 1 sec) ? (1 sec - timeSpent) : 0;
wait for waitingTime;
}
}
我是新與定時器的API。任何人都可以幫助我瞭解什麼是計時器API,我必須用它來實現這一點。我想要便攜式代碼。
你想成爲多麼精確?你確定你的處理('send_msg'明顯,可能會被阻塞)總是少於20毫秒,即50Hz的週期? –
[C++ Timer函數提供納秒級時間]的可能重複(http://stackoverflow.com/questions/275004/c-timer-function-to-provide-time-in-nano-seconds) – Joe