nanosleep()函數(shù)用于使程序暫停指定的時(shí)間。
函數(shù)原型:
int nanosleep(const struct timespec *req, struct timespec *rem);
參數(shù)說明:
- req:指定程序暫停的時(shí)間,以納秒為單位。結(jié)構(gòu)體timespec中包含兩個(gè)成員,分別是秒數(shù)和納秒數(shù)。
- rem:如果暫停被信號中斷,剩余的時(shí)間將被存放在該結(jié)構(gòu)體中。
返回值:
- 成功時(shí),返回0;
- 失敗時(shí),返回-1,并設(shè)置errno變量來指示錯(cuò)誤類型。
注意事項(xiàng):
- nanosleep()函數(shù)的暫停時(shí)間是相對時(shí)間,即指定的時(shí)間是相對于當(dāng)前時(shí)間的。
- 如果暫停時(shí)間大于1秒,可以使用sleep()函數(shù)來代替,因?yàn)閚anosleep()函數(shù)的精度更高。
- 在程序中使用nanosleep()函數(shù)需要包含頭文件<time.h>。