作者WolfLord (呆呆小狼 N )
看板C_and_CPP
標題Re: [問題] 十分鐘結束的程式???
時間Tue Feb 3 15:51:06 2009
傳統一點 :P
#include <time.h>
#include <unistd.h>
time_t t,t2;
void main(void){
int i,x=0;
time(&t2);
for(i=0;i<=100000000;i++){
x++;
time(&t);
if((t-t2)>600){
printf("\rTimeout \n\r");
break;
}
usleep(0);
}
}
: 推 compe11: cpu使用率也是99.9999999% 02/03 14:58
這樣CPU使用率就會趨近0了 XDD
windows下使用把 usleep 換成 Sleep
--
~~於是,銀河的歷史又被海賊抹黑了好幾百頁。
- A23203 -
BM4GRM Harlock WolfLord
★ <<上站通知>> -- 我來啦!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.23.231.109
推 samurai7:for(i=0;i<=100000000;i++) l改;這個 XDDDD 02/03 16:21
謝謝指正,手指不聽話沒注意到 抱歉囉
※ 編輯: WolfLord 來自: 211.23.231.109 (02/03 16:28)
推 HudsonE:我還是覺得用 signal/thread 叫它停比較好一點 02/04 10:47
推 bufferfly:用signal/thread比較好 同意樓上.. CPU使用較有效率 02/04 15:00
→ WolfLord:站在Total Syatem觀點,其實差異不大。重點是你要作什麼 02/04 17:50
→ WolfLord:尤其是單晶片或者簡易系統,多開THREAD其實負擔更重。 02/04 17:51
→ WolfLord:這時候利用INTERRUPT來COUNT以及事件檢知效率會更好。 02/04 17:52