linux 多线程编程的信号问题

来源:互联网 发布:下载解压软件 编辑:程序博客网 时间:2024/05/18 12:03

最近,复习unix高级环境编程,当涉及到多线程编程的时候,对多线程环境下的信号的处理目前存在很多疑惑。

其中之一,多线程环境下的信号处理必须使用多线程环境下pthread提供的接口,对信号进行屏蔽以及等待。

若要在多线程下对信号进行阻塞的话,必须使用pthread_sigmask(   ,   ,  )对信号进行阻塞。


其实,在信号处理里里,其中当某个信号发生的时候,该信号是如何传递的呢?一般的若当前有若干个线程,则这个信号会

随机地传递给这些线程的某个线程(注意:这里说的线程指的是没有对该信号进行阻塞的线程)。


也就是说,只要存在一个线程,这个线程没有阻塞这个信号的话,那么这个信号是可以得到处理的。