每x秒運行函數都有問題。 我的應用程序:每x秒運行函數
創建,綁定套接字,
監聽套接字上,
接受所有傳入連接,併爲他們每個人一個新的線程,
發送和接收一些數據,
現在在循環中應該發送數據每1.5秒,5秒和10秒。
我嘗試做這樣的(這裏的「時間」應該是時間以毫秒/納秒):
while(true)
{
if(fmod(time, 1.5)==0)
{
/*sending data*/
}
if(fmod(time, 5)==0)
{
/*sending data*/
}
if(fmod(time, 10)==0)
{
/*sending data*/
}
}
當我使用time()
數據每秒發送多次,因爲time()
具有精度到一秒鐘。你能否給我建議我需要什麼功能來獲得高精度時間?
我使用Linux
問題2: 如何我可以(通過使用任意鍵也許)當線程運行結束程序?
在初始化的時候,你說的是等於'std :: time(NULL)嗎?你能編輯你的問題,告訴我們這個變量的聲明嗎? – axelduch 2014-09-10 10:01:09