所以这个问题实际上是“为什么 time.h 在 OS X 和 Linux 上不一样?”但是,我已经接受了这些分歧。
为了在“Unix”系统上创建计时器,我遵循了本教程http://www.helsinki.fi/atk/unix/dec_manuals/DOC_40D/APS33DTE/DOCU_007.HTM#timer-type-sec 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_sigaction
的领域struct sigaction
,以便与计时器警报关联的元数据可以传递到信号处理程序。这里有更详细的描述http://www.helsinki.fi/atk/unix/dec_manuals/DOC_40D/APS33DTE/DOCU_006.HTM#sigevent-sec http://www.helsinki.fi/atk/unix/dec_manuals/DOC_40D/APS33DTE/DOCU_006.HTM#sigevent-sec.
你有没有调查过setitimer() https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/setitimer.2.html?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)