当前位置:嗨网首页>书籍在线阅读

22-总结

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

23.8 总结

进程可以使用setitimer()或alarm()来设置定时器,以便于在经历指定的一段实际(或进程)时间后收到信号通知。定时器的用途之一是为系统调用的阻塞设定时间上限。

应用程序如需暂停执行一段特定间隔的实际时间,可以使用各种合适的休眠函数。

Linux 2.6所实现的POSIX.1b扩展为高精度时钟和定时器定义了一套API。POSIX.1b定时器比传统(settimer())UNIX定时器更具优势,可以:创建多个定时器;选择定时器到期时的通知信号;获取定时器溢出计数,以便判断自上次到期通知后定时器是否又发生了多次到期;选择通过执行线程函数而非递送信号来获取定时器通知。

Linux特有的timerfd API提供了一组创建定时器的接口,与POSIX定时器API相类似,但允许从文件描述符中读取定时器通知。还可使用select()、poll()和epoll()来监控这些描述符。

更多信息

在每个函数的原理(rationael)部分,SUSv3就本章所述(标准)定时器和休眠接口一一指出其要点所在。[Callmeister, 1995]则探讨了POSIX.1b时钟和定时器。