我做了以下事情:
- 创建一个重复触发的虚拟计时器。
- 为 SIGVTALRM 安装信号处理程序
- 调用克隆系统调用
- 设置 sched_affinity 以便克隆的线程在不同的 CPU 上运行
克隆的线程也会监听 SIGVTALRM 吗?那么当 SIGVTALRM 被触发时,两个线程都会调用信号处理程序吗?此外,在创建新线程后,我可以将其用于 SIGVTALRM 的信号处理程序更改为另一个函数而不影响主线程信号处理程序吗?
我猜这取决于传递给 clone() 的标志。主要是,我使用的是 CLONE_SIGHAND 和 SIGCHLD。它是否也依赖于其他标志?