gpt4 book ai didi

c++ - 使c++程序在Windows中的特定核心上运行

转载 作者:可可西里 更新时间:2023-11-01 11:25:24 26 4
gpt4 key购买 nike

我想知道如何在 Visual Studio 中强制使用 C++ 编写的程序在特定内核上运行(在具有多个内核的计算机上)。

我找到了 this文章,但指的是 Linux 中的 C(我在 Windows 上使用 Visual Studio)

另外,我使用的 Windows 版本是否重要?

最佳答案

可以使用 Windows API 函数 SetThreadIdealProcessorEx() .此功能适用于 Windows 7 或更高版本。在旧系统上,可以使用 SetThreadIdealProcessor() ,尽管有更多限制。

这个,根据第一个链接的备注

Specifying a thread ideal processor provides a hint to the scheduler about the preferred processor for a thread. The scheduler runs the thread on the thread's ideal processor when possible.

我不知道有任何函数会强制调度程序在指定的处理器上运行线程。因此,给出调度程序将尝试采取行动的提示可能是您最接近满足要求的方法。

最好也使用 SetProcessorAffinityMask()同样,它可以指定进程可以在其上运行的处理器,因为线程似乎不太可能在不在其父进程的关联掩码内的处理器上运行。

请仔细阅读这些函数的文档,因为系统本身可以对进程可以运行的处理器施加限制。

关于c++ - 使c++程序在Windows中的特定核心上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40068025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com