如何保持同一个核心上的父母和子女的过程

我知道一个进程(父)可以固定到一个核心使用sched_setaffinity ,然后分叉的过程inheritance亲和力,也将被固定在同一个核心 。 但是,我不想让他们永远固定在同一个核心上。 理想情况下,我想要的是让他们一起呆在同一个CPU上,也就是说,如果父操作系统调度程序进行了迁移,那么孩子应该跟随父母并且迁移到与父母相同的CPU。

一种可能的方法是在父母定期更新其当前CPU的情况下拥有一个shared variable 。 然后,孩子可以定期查找这个variables, sched_setaffinity迁移到与父代相同的CPU。 但是,这看起来有些不好,可能会涉及到在不同的CPU上运行的时间段。 有什么更好的方法来实现这个?

是否有可能在一个线程而不是自己的过程中运行孩子?

岗安排帮助吗? 然后父母和孩子将被共同安排。