關於Linux 中sleep()函式說明
阿新 • • 發佈:2018-12-15
相關函式:signal, alarm
標頭檔案:#include <unistd.h>
定義函式:unsigned int sleep(unsigned int seconds);
函式說明:sleep()會令目前的程序暫停, 直到達到引數seconds 所指定的時間, 或是被訊號所中斷.
返回值:若程序/執行緒掛起到引數所指定的時間則返回0,若有訊號中斷則返回剩餘秒數。
linux下Sleep()函式:單位為毫秒 如果需要更精確可以用usleep單位為微秒 執行緒休眠函式:void usleep(unsigned long usec); linux下delay()函式: 原型為extern void delay(unsigned int msec); 它可以延時msec*4毫秒,也就是如果想延時一秒鐘的話,可以這麼用 delay(250);
例子:
分析:
unistd.h
sleep簡單的說,類似使當前程序睡眠,程序睡眠,就是將程序掛起,不再佔用CPU(自動放棄CPU)。
這裡sleep是為了讓子程序在父程序之後執行,試想如果子程序先執行完了,父程序就會永遠阻塞在waitpid函式,等待那個已經結束的子程序
程式掛起操作