微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使一个c ++程序运行在一个特定的核心在Windows中

我想知道如何强制Visual Studio中的C ++程序,运行在特定的核心/核心(在多个计算机上)。

我发现这篇文章,但在Linux中引用C(我在Windows上使用Visual Studio

另外,我正在使用的Windows版本,重要吗?

Apache MINA – 坚持SSL连接

进程在atr的ptrgl_64._ptrgl函数中失败

核心转储文件获取线程名称,而不是带有core_pattern%e。%p.core的可执行文件名称

目前的Linux内核debugging技术

如何在GDB中打印最后收到的信号?

无限的abort()在c ++程序核心转储的背后

Windows支持简街OCaml核心?

关于audio会话的IAudioSessionControl信息

使用简单c ++的内核模式编程?

如何将核心文件与相关的可执行文件捆绑在一起?

可以使用Windows API函数SetThreadIdealProcessorEx() 。 此功能适用于Windows 7或更高版本。 在较老的系统上,尽管有一些限制,但SetThreadIdealProcessor()可以使用SetThreadIdealProcessor() 。

这是根据第一个环节的言论

指定线程理想处理器向调度器提供关于线程的首选处理器的提示。 调度程序尽可能在线程的理想处理器上运行线程。

我不知道任何强制调度程序在指定的处理器上运行线程的函数。 因此,提供调度程序将尝试采取行动的提示,可能是最符合您要求的。

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

仔细阅读这些功能的文档,因为系统本身可以限制进程可能运行的处理器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐