1. 程式人生 > >關於Linux 中sleep()函式說明

關於Linux 中sleep()函式說明

相關函式: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函式,等待那個已經結束的子程序

程式掛起操作