3

個々のスレッドが SIGEV_THREAD_ID のイベント通知メソッドを使用してタイマーを作成し、タイマー信号 (SIGRTMIN+1) をそれぞれのスレッド コンテキストで指定されたハンドラーで処理できるようにするアプリケーションの Posix タイマー機能に取り組んでいます。スレッドが異なる状態にあるときのスレッド コンテキストでのシグナル ハンドラの呼び出しを理解する必要があります。たとえば、タイマーの作成後にメッセージ キューまたはセマフォで個々のスレッドがブロックされ、タイマーが期限切れになった場合、シグナル処理はどのように行われるのでしょうか? スレッドが実行されている場合、スレッドがプリエンプトされ、そのスレッドのコンテキスト内でシグナル ハンドラーが呼び出されることを理解しています。しかし、上記のようにスレッドがブロックされた場合、実際にはどうなるでしょうか? これに関する内部を理解するための助けは大歓迎です。

4

0 に答える 0