5

ですから、この質問はまさに「OS X と Linux で time.h が同じでないのはなぜですか?」ということです。しかし、私はそれらの違いと和解しました。

「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_sigactionフィールドを使用する必要があります。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 に答える