【发布时间】:2021-03-04 20:39:30
【问题描述】:
想象一下,我有一个程序,它有一个创建多个线程的 main 函数。在每个线程中,我通过signal(SIGINT, functionA) 将CTRL + C 中断(SIGINT)重定向到functionA,并在主进程中将相同的中断重定向到functionB(signal(SIGINT, functionB)。
当程序运行并发送中断SIGINT时,程序会做什么?
它会在所有线程中执行functionA,然后在主进程中执行functionB?
【问题讨论】:
-
Strictly speaking: "在多线程程序中使用这个函数会导致未定义的行为。"
标签: c linux multithreading signals