您好,登錄后才能下訂單哦!
C語(yǔ)言中Sleep函數(shù)是什么?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
Sleep函數(shù):
功 能: 執(zhí)行掛起一段時(shí)間
用 法:
unsigned sleep(unsigned seconds);
注意:
在VC中使用帶上頭文件#include <windows.h>,在Linux下,gcc編譯器中,使用的頭文件因gcc版本的不同而不同#include <unistd.h>
在VC中,Sleep中的第一個(gè)英文字符為大寫的"S" ,在linux下不要大寫,在標(biāo)準(zhǔn)C中是sleep, 不要大寫,簡(jiǎn)單的說(shuō)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)程掛起一段時(shí)間, 單位是微秒us(百萬(wàn)分之一秒)。
語(yǔ)法:
void usleep(int micro_seconds);
返回值: 無(wú)
注意:這個(gè)函數(shù)不能工作在 Windows 操作系統(tǒng)中。
usleep() 與sleep()類似,用于延遲掛起進(jìn)程。進(jìn)程被掛起放到reday queue。只是一般情況下,延遲時(shí)間數(shù)量級(jí)是秒的時(shí)候,盡可能使用sleep()函數(shù)。且此函數(shù)已被廢除,可使用nanosleep?!?/p>
如果延遲時(shí)間為幾十毫秒,或者更小,盡可能使用usleep()函數(shù)。這樣才能最佳的利用CPU時(shí)間。
delay函數(shù):
功 能: 將程序的執(zhí)行暫停一段時(shí)間,單位是毫秒ms(千分之一秒)
用 法:
void delay(unsigned milliseconds);
示例:
#include<dos.h> int main(void) { sound(440); delay(500); nosound(); return 0; }
delay()是循環(huán)等待,該進(jìn)程還在運(yùn)行,占用處理器。
sleep()不同,它會(huì)被掛起,把處理器讓給其他的進(jìn)程。
看完上述內(nèi)容,你們掌握C語(yǔ)言中Sleep函數(shù)是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。