我正在考虑开发一个应用程序,该应用程序将在六核机器上运行六个异步任务,每个内核一个。
但是是否可以将任务锁定到自己的核心?
这个想法是让它们主要由自己运行,但有时会通过共享内存区域进行通信。但是,我希望任务尽可能不受干扰地运行。
最佳答案
您正在寻找的概念称为“线程亲和性”。它的实现方式和请求它的接口(interface)是特定于操作系统的。
在 Linux 下,尝试 sched_setaffinity() . glibc 也可能提供 pthread_attr_setaffinity_np()。
关于c - 有没有办法将进程锁定到 CPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5479458/