通常,操作系统负责将线程分配给核心。我想知道该计划是否有办法参与这项分配。
换句话说:是否有API(适用于Linux或Win32平台)能够创建与特定核心相关联的线程?
答案 0 :(得分:3)
在Windows上,SetThreadAffinityMask。一般来说,不要这样做。操作系统几乎肯定比你更好。
答案 1 :(得分:2)
答案 2 :(得分:1)
请注意,Windows具有设置进程关联性的功能,但也可以独立设置每个线程。 Linux仅提供设置流程亲和力的工具。
对于Windows,进程函数是SetProcessAffinityMask。 Windows也有“理想”处理器(SetThreadIdealProcessor)的概念,如果你不知道自己在做什么,它会好得多(尽管这个概念在XP中不起作用)。