每个CPU核心的线程分配(仅限Windows)

时间:2012-04-13 09:49:59

标签: windows multithreading

我是一名业余程序员,所以请耐心等待。 我即将为游戏(用于Windows操作系统)编写一个插件,该游戏将在游戏过程中在后台运行。由于插件将产生线程,执行是CPU密集型的,并且游戏在不同CPU核心上的执行可能会有很大差异,因此插件只能在具有多个核心的PC上执行,这些核心的负载低于某个限制。 我想出了如何监控每个核心的CPU负载,但我还有一个问题: 插件是否应该将线程分配给负载最低的核心,或者我可以让系统为我处理这个问题? 第一种解决方案对于游戏的表现会更好吗?

1 个答案:

答案 0 :(得分:0)

如果您正在Visual Studio 2010中开发Windows代码,那么我建议您查看可用的并发运行时。 Concurrency Runtime in Visual C++ 2010

  

插件是否应该处理将线程分配给核心   最低负载或我可以让系统为我处理?

如果您可以正确设计系统,您可以让系统为您处理。此外,您的代码不需要根据内核数量进行更改,因为运行时会捕获此类详细信息,并且生成的线程数与内核数成正比。