wait 是等待子進程的返回 sleep 參數指定暫停時間, 單位是 s delay 參數指定暫停時間, 單位是 ms 所以 sleep(n) == delay(1000*n) 原型:extern void sleep(unsigned int sec); 用法:#include system.h 功能:短暫延時 說明:延時sec秒舉例:// sleep.c #include system.h main(){int c;clrscr();printf("\nHello, world!");sleep(1);clrscr();printf("\nHi, guys");getchar();return 0;}原型:extern void delay(unsigned int msec); 用法:#include system.h 功能:短暫延時 說明:延時msec*4毫秒舉例:// delay.c #include system.h main(){int c;clrscr();printf("\nHello, world!"); delay(250); // 250*4=1000msec=1secclrscr();printf("\nHi, guys");getchar();return 0;}wait(等待子進程中斷或結束)相關函數waitpid,fork表頭文件#includesys/types.h #includesys/wait.h 定義函數pid_t wait (int * status);函數說明 wait()會暫時停止目前進程的執行,直到有信號來到或子進程結束。如果在調用wait()時子進程已經結束,則wait()會立即返回子進程結束狀態 值。子進程的結束狀態值會由參數status 返回,而子進程的進程識別碼也會一快返回。如果不在意結束狀態值,則參數status可以設成NULL。子進程的結束狀態值請參考waitpid()。 返回值如果執行成功則返回子進程識別碼(PID),如果有錯誤發生則返回-1。失敗原因存于errno中。
創新互聯主要從事網站制作、成都網站制作、網頁設計、企業做網站、公司建網站等業務。立足成都服務革吉,十載網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:13518219792
不是標準函數,應是自定義函數。例如:
#include "windows.h"
void waiting(){
Sleep(1000);
}
調用 waiting() 則將 等待 1秒鐘。
=============
例如:
#include time.h
void waiting ( int seconds )
{
clock_t endwait;
endwait = clock () + seconds * CLK_TCK ;
while (clock() endwait) {}
}
調用 waiting(1) 則將 等待 1秒鐘。
等待按鍵 getch 任意按鍵無需回車 頭文件視使用條件而定
等待延時 sleep
消息隊列的等待就是GetMessage,沒辦法自己寫,除非你打算改Windows本身。這個函數如果沒有消息進來就會釋放CPU,如果不希望等待用PeekMessage。消息循環的格式是固定的。
使用要帶上頭文件:
#include windows.h
Sleep函數:
功 能: 執行掛起一段時間
用 法: unsigned sleep(unsigned seconds);
注意:
1.在VC中使用帶上頭文件#include windows.h,在Linux下,gcc編譯器中,使用的頭文件因gcc版本的不同而不同#include unistd.h
2.在VC中,Sleep中的第一個英文字符為大寫的"S" ,在linux下不要大寫,在標準C中是sleep, 不要大寫,簡單的說VC用Sleep, 別的一律使用sleep。
3.在VC中,Sleep()里面的單位,是以毫秒為單位,所以如果想讓函數滯留1秒的話,應該是Sleep(1000); 在Linux下,sleep()里面的單位是秒,而不是毫秒。
示例:
#includestdio.h
#include windows.h
int main()
{
int a=100;?
Sleep(3000);
printf("%d",a);
return 0;
}
usleep函數:
功能: usleep功能把進程掛起一段時間, 單位是微秒us(百萬分之一秒)。
語法: void usleep(int micro_seconds);
返回值: 無
注意:這個函數不能工作在 Windows 操作系統中。
usleep() 與sleep()類似,用于延遲掛起進程。進程被掛起放到reday queue。只是一般情況下,延遲時間數量級是秒的時候,盡可能使用sleep()函數。且此函數已被廢除,可使用nanosleep?!?/p>
如果延遲時間為幾十毫秒,或者更小,盡可能使用usleep()函數。這樣才能最佳的利用CPU時間。
delay函數:
功 能: 將程序的執行暫停一段時間,單位是毫秒ms(千分之一秒)
用 法: void delay(unsigned milliseconds);
示例:
#includedos.h
int main(void)
{
sound(440);
delay(500);
nosound();
return 0;
}
delay()是循環等待,該進程還在運行,占用處理器。
sleep()不同,它會被掛起,把處理器讓給其他的進程。
如果對時間要求非常精確,可以考慮采用和匯編中處理的情況,看看cpu的頻率,將for命令分解成匯編語言,看多少毫秒執行一次命令,然后設置循環次數,這樣足夠精確,實際上在匯編下也是這么做的。
當前標題:c語言中等待的函數是什么,c語言中等待的函數是什么
文章地址:http://vcdvsql.cn/article2/hspsic.html
成都網站建設公司_創新互聯,為您提供品牌網站制作、微信小程序、面包屑導航、搜索引擎優化、手機網站建設、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯