多线程信号处理

时间:2011-03-31 15:06:22

标签: multithreading unix signals

  1. 在unix中,如果多线程进程发送了一个信号,哪个线程将执行处理函数?

  2. 如果是多CPU机器,则同时运行多个线程。哪个线程将运行信号处理功能?

1 个答案:

答案 0 :(得分:10)

根据man 7 signal,进程中的所有线程共享相同的信号处理程序,如果信号被传递给具有多个未阻塞信号的线程的进程,则其中一个线程被任意选择接收它

拥有多CPU机器不会改变这些语义。