C語(yǔ)言中的pause()函數(shù)和alarm()函數(shù)以及sleep()函數(shù)
C語(yǔ)言pause()函數(shù):讓進(jìn)程暫停直到信號(hào)出現(xiàn)
頭文件:
#include <unistd.h>
定義函數(shù):
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)傳送鬧鐘
頭文件:
#include <unistd.h>
定義函數(shù):
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.
范例
#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í)行:
sleep 1 ... sleep 2 ... sleep 3 ... sleep 4 ... sleep 5 ...hello sleep 6 ...
C語(yǔ)言sleep()函數(shù):讓進(jìn)程暫停執(zhí)行一段時(shí)間
頭文件:
#include <unistd.h>
定義函數(shù):
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ù).
相關(guān)文章
C語(yǔ)言中g(shù)etchar()函數(shù)的用法小結(jié)
這篇文章主要介紹了C語(yǔ)言中g(shù)etchar()函數(shù)的用法,getchar是輸入函數(shù),輸入的過(guò)程是什么呢,本文給大家詳細(xì)講解,對(duì)C語(yǔ)言getchar()函數(shù)相關(guān)知識(shí)感興趣的朋友一起看看吧2022-10-10VS2019中CMake項(xiàng)目如何指定c++語(yǔ)言標(biāo)準(zhǔn)
這篇文章主要介紹了VS2019中CMake項(xiàng)目如何指定c++語(yǔ)言標(biāo)準(zhǔn),需要的朋友可以參考下2020-02-02淺談C++中的string 類型占幾個(gè)字節(jié)
本篇文章小編并不是為大家講解string類型的用法,而是講解我個(gè)人比較好奇的問(wèn)題,就是string 類型占幾個(gè)字節(jié)2013-08-08C語(yǔ)言三子棋游戲的簡(jiǎn)單設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言三子棋游戲的簡(jiǎn)單設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10C語(yǔ)言字母轉(zhuǎn)換大小寫的3種方法圖文詳解
我們?cè)贑語(yǔ)言入門的時(shí)候都會(huì)遇到要求寫大小寫轉(zhuǎn)換的題目,所以下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言字母轉(zhuǎn)換大小寫的3種方法,文中給了詳細(xì)的代碼示例,需要的朋友可以參考下2023-10-10