5

所以这个问题真的是“为什么 time.h 在 OS X 和 Linux 上不一样?” 但是,我已经接受了这些差异。

要在“Unix”系统上创建计时器,我按照本教程http://www.helsinki.fi/atk/unix/dec_manuals/DOC_40D/APS33DTE/DOCU_007.HTM#timer-type-sec

这需要使用<sys/time.h>和调用timer_create(),然后为信号类型设置信号处理程序。这个我知道该怎么做。问题是,同样的事情是如何在 OS X 上实现的?

需要注意的关键是这些计时器需要是实时的,即异步排队并且必须使用sa_sigactiona 的字段struct sigaction,以便可以将与计时器警报关联的元数据传递给信号处理程序。这在http://www.helsinki.fi/atk/unix/dec_manuals/DOC_40D/APS33DTE/DOCU_006.HTM#sigevent-sec有更详细的描述。

4

1 回答 1

1

你调查过setitimer()吗?

于 2012-04-22T19:57:13.623 回答