1.默认情况下,信号将由主进程接收和处理,即使信号处理函数是由子线程注册的。2.每个线程都有自己的信号屏蔽字,sigprocmask函数可以用来屏蔽一个线程对信号的响应,只留下需要处理信号的线程来处理指定的信号,3.对于一个信号处理函数,以程序执行过程中最后注册的处理函数为准,即在所有线程中,相同的信号在任何线程中必须处理相同的信号,4.可以用pthread_kill说每个线程都有自己的信号掩码字。

这意味着尽管单个线程可以阻塞一些信号,但是当一个线程修改与信号相关的处理行为时,所有线程共享处理行为的改变。这样,如果一个线程选择忽略一个信号,其他线程可以恢复该信号的默认处理行为,或者为该信号设置一个新的处理程序,这样就可以撤销上述线程的信号选择,进程中的信号被发送到单个线程。如果信号与硬件故障或计时器超时有关,则模型被发送到导致事件的线程,而其他信号被发送到任何线程。


文章TAG:orgakillact  攻略  orgakillact攻略  
下一篇