定时器与GCC C语言扩展详解
1. 定时器基础
在编程中,定时器是一种非常重要的工具,它可以帮助我们在特定时间执行某些操作。下面将介绍几种常见的定时器函数及其使用方法。
1.1 alarm函数
alarm函数用于在指定的秒数后向调用进程发送SIGALRM信号。如果之前已经设置了一个未处理的SIGALRM信号,该调用会取消之前的闹钟,用新的闹钟替换它,并返回之前闹钟剩余的秒数。如果seconds为 0,则取消之前的闹钟,但不设置新的闹钟。
要成功使用这个函数,还需要为SIGALRM信号注册一个信号处理程序。以下是一个示例代码,它注册了一个SIGALRM处理程序alarm_handler(),并设置了一个 5 秒的闹钟:
void alarm_handler (int signum) { printf ("Five seconds passed!\n"); } void func (void) { signal (SIGALRM, alarm_handler); alarm (5); pause ( ); }1.2 间隔定时器
间隔定时器系统调用最早出现在 4.2BSD 中,后来在 POSIX 中得到了标准化,它比alarm()