在C語言的教學(xué)當(dāng)中,利用Sleep()等函數(shù)通過更加直觀的顯示效果,來使循環(huán)嵌套的層次更加清晰,break和continue等作用更加直觀;通過硬件思維中的內(nèi)存結(jié)構(gòu)可以使初學(xué)者對指針有一個最根本也是最直接的認(rèn)識,從而學(xué)生無論是對指針的認(rèn)知還是使用,都將變得非常容易。 下面我就跟大家介紹下c語言sleep的用法。 Sleep函數(shù): 功 能: 執(zhí)行掛起一段時間 用 法: unsigned sleep(unsigned seconds); 注意: 在VC中使用帶上頭文件#include windows.h,在Linux下,gcc編譯器中,使用的頭文件因gcc版本的不同而不同#include unistd.h 在VC中,Sleep中的第一個英文字符為大寫的"S" ,在linux下不要大寫,在標(biāo)準(zhǔn)C中是sleep, 不要大寫,簡單的說VC用Sleep, 別的一律使用sleep 在VC中,Sleep()里面的單位,是以毫秒為單位,所以如果想讓函數(shù)滯留1秒的話,應(yīng)該是Sleep(1000); 在Linux下,sleep()里面的單位是秒,而不是毫秒。 示例: #include windows.h int main() { int a; a=1000; Sleep(a); 穗攔return 0; } usleep函數(shù): 梁慧 功能: usleep功能把進(jìn)程掛起一段時間, 單位是微秒us(百萬分之一秒)。 語法: void usleep(int micro_seconds); 返回值: 無 注意:這個函數(shù)不能工作在 Windows 操作系統(tǒng)中。 usleep() 與sleep()類似,用于延遲掛起進(jìn)程。進(jìn)程被掛起放到reday queue。只是一般情況下,延遲時間數(shù)量級是秒的時候,盡可能使用sleep()函數(shù)。且此函數(shù)已被廢除,可使用nanosleep。 如果延遲時間為幾十毫秒,或猜渣胡者更小,盡可能使用usleep()函數(shù)。這樣才能最佳的利用CPU時間。 delay函數(shù): 功 能: 將程序的執(zhí)行暫停一段時間,單位是毫秒ms(千分之一秒) 用 法: void delay(unsigned milliseconds); 示例: #includedos.h int main(void) { sound(440); delay(500); nosound(); return 0; } delay()是循環(huán)等待,該進(jìn)程還在運(yùn)行,占用處理器。 sleep()不同,它會被掛起,把處理器讓給其他的進(jìn)程。
成都創(chuàng)新互聯(lián)專注于阜新網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供阜新營銷型網(wǎng)站建設(shè),阜新網(wǎng)站制作、阜新網(wǎng)頁設(shè)計(jì)、阜新網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造阜新網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供阜新網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
1、sleep()函數(shù):秒級休眠函數(shù)
#include unistd.h
unsigned int sleep(unsigned int unSeconds);
參數(shù)unSeconds表示需要休眠的秒數(shù);
2、usleep()函數(shù):微秒級休眠函數(shù);
#include unistd.h
int usleep(useconds_t lMicroSeconds);
參數(shù)lMicroSeconds表示要休眠的微斗蠢秒數(shù);
#ifndef _SUSECONDS_T
#define _SUSECONDS_T
typedef long suseconds_t; /* signed # of microseconds */
#endif ?/* _SUSECONDS_T */
類型useconds_t定義在頭文件/usr/include/sys/types.h中;
3、nanosleep()函數(shù):納秒級休眠函數(shù);
#include time.h
int nanosleep(const struct timespec* rqtp, struct timespec* rmtp);
4、其它休眠函數(shù):
select()、pselect()、poll();等;
select()函數(shù)也可以精確到世察微秒空返陪,pselect()函數(shù)也可以精確到納秒。
使用要帶上頭文件:
#include windows.h
Sleep函數(shù):
功 能: 執(zhí)行掛起一段時間
用 法: unsigned sleep(unsigned seconds);
注意:
1.在VC中使用帶上頭文件#include windows.h,在Linux下,gcc編譯器中,使用的頭文件因gcc版本的不同而不同#include unistd.h
2.在VC中,Sleep中的第一個英文字符為大寫的"S" ,在linux下不要大寫,在標(biāo)準(zhǔn)C中是sleep, 不要大寫,簡單的說VC用Sleep, 別的一律使用sleep。
3.在VC中含塵念,Sleep()里面的單位,是以毫秒為單位,所以如果想讓函數(shù)滯留1秒的話,應(yīng)該是Sleep(1000); 在Linux下,sleep()里面的單位是秒,而不是毫秒。
示例:
#includestdio.h
#include windows.h
int main()
{
int a=100;?
Sleep(3000);
printf("%d",a);
return 0;
}
usleep函數(shù):
功能: usleep功能把進(jìn)程掛起一段時間, 單位是微秒us(百萬分之一秒)。
語法: void usleep(int micro_seconds);
返回值: 無
注意:這個函數(shù)不能工作在 Windows 操作系統(tǒng)中。
usleep() 與sleep()類似,用于延遲掛起進(jìn)兄派程。進(jìn)程被掛起放到reday queue。只是一般情況下,延遲時間數(shù)量級是秒的時候,盡可能使用sleep()函數(shù)。且此函數(shù)已被廢除,可使用nanosleep?!?/p>
如果延遲時間為幾十毫秒,或者更小,盡可能使用usleep()函數(shù)。這樣才能最佳的利用CPU時間。
delay函數(shù):
功 能: 將程序的執(zhí)行暫停一段時間,單位是毫秒ms(千分之一秒)
用 法: void delay(unsigned milliseconds);
示例:
#includedos.h
int main(void)
{
sound(440);
delay(500);
nosound();
return 0;
}
delay()是循環(huán)等待,該進(jìn)程還在運(yùn)行,占用處理器談困。
sleep()不同,它會被掛起,把處理器讓給其他的進(jìn)程。