在C語言中,nanosleep()函數用于將當前線程掛起一段指定的時間。
nanosleep()函數的原型如下:
int nanosleep(const struct timespec *req, struct timespec *rem);
參數說明:
返回值:
示例用法:
#include <stdio.h>
#include <time.h>
int main() {
struct timespec req, rem;
req.tv_sec = 2; // 設置掛起時間為2秒
req.tv_nsec = 500000000; // 設置掛起時間為500毫秒
int result = nanosleep(&req, &rem);
if (result == -1) {
printf("nanosleep failed\n");
return 1;
}
printf("Slept for %ld seconds and %ld nanoseconds\n", req.tv_sec - rem.tv_sec, req.tv_nsec - rem.tv_nsec);
return 0;
}
在上述示例中,nanosleep()函數被用來掛起當前線程2.5秒。在函數調用后,程序會打印出實際掛起的時間。