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