标签: multithreading unix signals
在unix中,如果多线程进程发送了一个信号,哪个线程将执行处理函数?
如果是多CPU机器,则同时运行多个线程。哪个线程将运行信号处理功能?
答案 0 :(得分:10)
根据man 7 signal,进程中的所有线程共享相同的信号处理程序,如果信号被传递给具有多个未阻塞信号的线程的进程,则其中一个线程被任意选择接收它
拥有多CPU机器不会改变这些语义。