C語(yǔ)言中使用定時(shí)器的方法有多種,其中常用的有以下幾種:
#include <stdio.h>
#include <unistd.h>
int main() {
printf("Start\n");
sleep(2); // 暫停2秒
printf("End\n");
return 0;
}
#include <stdio.h>
#include <unistd.h>
int main() {
printf("Start\n");
usleep(500000); // 暫停500毫秒
printf("End\n");
return 0;
}
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
void handler(int signum) {
printf("Timer expired\n");
}
int main() {
signal(SIGALRM, handler); // 注冊(cè)信號(hào)處理函數(shù)
printf("Start\n");
alarm(5); // 5秒后觸發(fā)信號(hào)
sleep(10); // 等待10秒,以保證能收到信號(hào)
printf("End\n");
return 0;
}
#include <stdio.h>
#include <sys/time.h>
#include <unistd.h>
#include <signal.h>
void handler(int signum) {
printf("Timer expired\n");
}
int main() {
struct itimerval timer;
timer.it_value.tv_sec = 2; // 定時(shí)器初始值為2秒
timer.it_value.tv_usec = 0;
timer.it_interval.tv_sec = 0; // 定時(shí)器間隔為0秒,即只觸發(fā)一次
timer.it_interval.tv_usec = 0;
signal(SIGALRM, handler); // 注冊(cè)信號(hào)處理函數(shù)
printf("Start\n");
setitimer(ITIMER_REAL, &timer, NULL); // 設(shè)置定時(shí)器
sleep(5); // 等待5秒,以保證能收到信號(hào)
printf("End\n");
return 0;
}
以上是幾種常見的C語(yǔ)言中使用定時(shí)器的方法,具體使用哪種方法取決于需求和場(chǎng)景。