被阻止的线程如何处理使用SIGEV_THREAD_ID创建的计时器的计时器信号

时间:2012-09-10 20:35:11

标签: timer posix

我正在为我的应用程序开发Posix计时器功能,其中各个线程使用SIGEV_THREAD_ID的事件通知方法创建计时器,以便可以使用相应线程上下文中的指定处理程序处理计时器信号(SIGRTMIN + 1)。当线程处于不同状态时,我需要理解线程上下文中信号处理程序的调用。例如,如果在创建定时器和定时器之后消息队列或信号量上的某些单独的线程阻塞到期,那么信号处理将如何发生?我理解,如果线程一直在执行,那么它将被抢占,并且将在该线程的上下文中调用信号处理程序。但如果线程如上所述被阻止,那真的发生了什么? 任何有关理解内部的帮助都非常感谢。

0 个答案:

没有答案