linux 多线程信号处理总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 多线程信号处理总结相关的知识,希望对你有一定的参考价值。

参考技术A APUE的说法:每个线程都有自己的信号屏蔽字,但是信号的处理是进程中所有的线程共享的,这意味着尽管单个线程可以阻止某些信号,但当线程修改了与某个信号相关的处理行为后,所有的线程都共享这个处理行为的改变。这样如果一个线程选择忽略某个信号,而其他线程可以恢复信号的默认处理行为,或者为信号设置一个新的处理程序,从而可以撤销上述线程的信号选择。

进程中的信号是送到单个线程的,如果信号与硬件故障或者计时器超时有关,该型号就被发送到引起该事件的线程中去,而其他的信号则被发送到任意一个线程。

sigprocmask的行为在多线程的进程中没有定义,线程必须使用pthread_sigmask

总结:一个信号可以被没屏蔽它的任何一个线程处理,但是在一个进程内只有一个多个线程共用的处理函数。......

转自: http://blog.chinaunix.net/uid-12274566-id-3050955.html

以上是关于linux 多线程信号处理总结的主要内容,如果未能解决你的问题,请参考以下文章

Linux多线程总结

Linux中都线程信号的处理

Linux 多线程编程(二)2019-08-10

经典线程同步总结 关键段 事件 互斥量 信号量

Python多线程总结

Java基础总结--多线程总结2