我正在用 C 语言编写一个多线程程序,其中 main() 更改某些信号的行为,然后生成更多线程。问题是:当信号到达时,其他线程是继续执行,还是在处理信号时暂停并恢复执行?
谢谢
最佳答案
do the other threads continue executing when a signal arrives
在 Linux 上,他们这样做是因为信号只传递到一个线程。除非信号是 SIGSTOP,它会停止进程的所有线程。请参阅man signal(7)
和 man pthreads(7)
了解更多详细信息(忽略与旧线程实现相关的 LinuxThreads 信息)。
尽管 POSIX 不要求这样做,所以这些详细信息是特定于操作系统的。
关于c - 当信号到达时线程是否继续执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48006298/