1. 程式人生 > >linux和windows下 C/C 的sleep函式

linux和windows下 C/C 的sleep函式

    因為要寫一段程式碼,需要用到sleep()函式,在我印象中,sleep(10)好像是休眠10微秒,結果卻是休眠了10秒(在Linux下)。覺得很奇怪,因為頭兒也記得好像是微秒為單位的。所以就查了一下。    原來linux下的sleep函式原型為:        unsigned int sleep(unsigned int seconds);而MFC中的Sleep函式原型為:        void Sleep(DWORD dwMilliseconds);也就是說,Linux下(使用的gcc的庫),sleep()函式是以秒為單位的,sleep(1);就是休眠1秒。而MFC下的sleep()函式是以微秒為單位的,sleep(1000);才是休眠1秒。原來如此啊。而如果在Linux下也用微妙為單位休眠,可以使用執行緒休眠函式:void usleep(unsigned long usec);當然,使用的時候別忘記#include <system.h>哦。    另外值得一提的是,linux下還有個delay()函式,原型為extern void delay(unsigned int msec);它可以延時msec*4毫秒,也就是如果想延時一秒鐘的話,可以這麼用 delay(250);