Sleep方法是Java線程(Thread)開發(fā)中一種概念。是線程TIMED_WAITING狀態(tài)中的一種方法。使用方法為:
成都創(chuàng)新互聯(lián)專注于鄠邑網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供鄠邑營銷型網(wǎng)站建設(shè),鄠邑網(wǎng)站制作、鄠邑網(wǎng)頁設(shè)計、鄠邑網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造鄠邑網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供鄠邑網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
1、類名為創(chuàng)建線程的類名。
2、Thread線程Sleep方法的示例代碼如下圖所示。讓main方法運行過程中休眠5000毫秒。
3、Thread線程Sleep方法的示例代碼執(zhí)行結(jié)果如下圖所示。
4、millis參數(shù)含義:以毫秒為單位的睡眠時間長度。nanos參數(shù)含義:0-999999額外的納秒睡眠 。
注意事項:
Sleep函數(shù)可以使計算機(jī)程序(進(jìn)程,任務(wù)或線程)進(jìn)入休眠,使其在一段時間內(nèi)處于非活動狀態(tài)。當(dāng)函數(shù)設(shè)定的計時器到期,或者接收到信號、程序發(fā)生中斷都會導(dǎo)致程序繼續(xù)執(zhí)行。
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ù)也可以精確到納秒。
system("pause")意思就是讓程序暫停一下,然后按任意鍵繼續(xù),初學(xué)的時候最多見于程序的末尾處,用于看運行結(jié)果,避免程序一閃而過。相同的我們還可以用getchar(),避免程序運行完直接結(jié)束而看不到運行結(jié)果。
如下圖:
執(zhí)行到? ? system("pause");? ? 按任意鍵繼續(xù)
貼上代碼:
#include stdio.h
void main()
{
printf("haha哈哈\n");
system("pause");
printf("haha哈哈\n");
system("pause");
}
擴(kuò)展資料:
函數(shù)名: system?
功 能: 發(fā)出一個DOS命令?
用 法: int system(char *command);
system函數(shù)已經(jīng)被收錄在標(biāo)準(zhǔn)c庫中,可以直接調(diào)用。
使用要帶上頭文件:
#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。
如果延遲時間為幾十毫秒,或者更小,盡可能使用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)程還在運行,占用處理器。
sleep()不同,它會被掛起,把處理器讓給其他的進(jìn)程。
Sleep(1) 是休息 1毫秒。不是非常精確的,只是說分辨率是 1毫秒。
你的循環(huán)語句的執(zhí)行,輸出語句的執(zhí)行,也要花時間,同一時間,你的計算機(jī)系統(tǒng)還有很多進(jìn)程也在運行,它們共享同一電腦的資源。 所以 你的程序 輸出不了那么多數(shù)。
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ù)也可以精確到納秒。
本文標(biāo)題:c語言睡眠函數(shù) c語言睡眠函數(shù)頭文件
標(biāo)題網(wǎng)址:http://muchs.cn/article18/dococdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計公司、自適應(yīng)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)