c語(yǔ)言中sleep的用法
c語(yǔ)言中sleep的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c語(yǔ)言中sleep的用法的用法,希望對(duì)你們有用。
c語(yǔ)言中sleep的用法的用法如下:
C語(yǔ)言pause()函數(shù):讓進(jìn)程暫停直到信號(hào)出現(xiàn)
頭文件:
?
1
#include <unistd.h>
定義函數(shù):
?
1
int pause(void);
函數(shù)說(shuō)明:pause()會(huì)令目前的進(jìn)程暫停(進(jìn)入睡眠狀態(tài)), 直到被信號(hào)(signal)所中斷.
返回值:只返回-1.
錯(cuò)誤代碼:EINTR 有信號(hào)到達(dá)中斷了此函數(shù).
C語(yǔ)言alarm()函數(shù):設(shè)置信號(hào)傳送鬧鐘
頭文件:
?
1
#include <unistd.h>
定義函數(shù):
?
1
unsigned int alarm(unsigned int seconds);
函數(shù)說(shuō)明:alarm()用來(lái)設(shè)置信號(hào)SIGALRM 在經(jīng)過(guò)參數(shù)seconds 指定的秒數(shù)后傳送給目前的進(jìn)程. 如果參數(shù)seconds 為0, 則之前設(shè)置的鬧鐘會(huì)被取消, 并將剩下的時(shí)間返回.
返回值:返回之前鬧鐘的剩余秒數(shù), 如果之前未設(shè)鬧鐘則返回0.
范例
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <unistd.h>
#include <signal.h>
void handler()
{
printf("hello\n");
}
main()
{
int i;
signal(SIGALRM, handler);
alarm(5);
for(i = 1; i < 7; i++)
{
printf("sleep %d ...\n", i);
sleep(1);
}
}
執(zhí)行:
?
1
2
3
4
5
6
sleep 1 ...
sleep 2 ...
sleep 3 ...
sleep 4 ...
sleep 5 ...hello
sleep 6 ...
C語(yǔ)言sleep()函數(shù):讓進(jìn)程暫停執(zhí)行一段時(shí)間
頭文件:
?
1
#include <unistd.h>
定義函數(shù):
?
1
unsigned int sleep(unsigned int seconds);
函數(shù)說(shuō)明:sleep()會(huì)令目前的進(jìn)程暫停, 直到達(dá)到參數(shù)seconds 所指定的時(shí)間, 或是被信號(hào)所中斷.
返回值:若進(jìn)程暫停到參數(shù)seconds 所指定的時(shí)間則返回0, 若有信號(hào)中斷則返回剩余秒數(shù).