【发布时间】:2017-09-22 10:55:49
【问题描述】:
操作系统能够确定如何将不同的进程/线程安排到不同的 cpu 内核上,操作系统调度程序可以很好地完成工作。那么我们什么时候真的需要为进程调用 sched_setafficity() 或 pthread 的 pthread_setaffinity_np() 之类的函数呢?
它似乎并不能显着提高任何性能,如果可以的话,我想我们需要重新编写linux进程调度程序吧?
只是想知道我们什么时候需要在我的应用程序中调用这些函数? 谢谢。
【问题讨论】:
-
你可以只为你的线程使用一个cpu,没有任务调度。为此,首先将 isocpu 参数放入 grub 文件,然后 Linux 操作系统不使用 CPU,然后使用 sched_setafficity(),您将拥有一个私有 CPU
标签: c linux multithreading process affinity