当信号到达时线程是否继续执行?

问题描述 投票:2回答:1

我正在用C编写一个多线程程序,其中main()改变了一些信号的行为,然后产生了更多的线程。问题是:当信号到达时,其他线程是继续执行,还是在处理信号时暂停并继续执行?

谢谢

c multithreading signals execution pause
1个回答
0
投票

当信号到达时,其他线程是否继续执行

在Linux上,他们这样做是因为信号只传递给一个线程。除非信号是SIGSTOP,否则会停止进程的所有线程。有关更多详细信息,请参阅man signal(7)man pthreads(7)(忽略与旧线程实现相关的LinuxThreads信息)。

虽然POSIX不需要,但这些细节是特定于操作系统的。

© www.soinside.com 2019 - 2024. All rights reserved.