最大化CPU使用率

Jac*_*cob 10 c++ windows windows-xp cpu-usage visual-c++-2005

如何最大化应用程序的CPU使用率?我尝试在任务管理器中将其设置为"实时",但没有明显的改进 - 它停留在50%.

我在Windows XP中使用Visual C++ 2005.

Ecl*_*pse 28

我假设你在双核计算机上运行.尝试启动另一个线程.

如果您的应用程序中只有一个执行线程,则它一次只能在一个CPU核心上运行.解决方案是将工作分成两半,让一个CPU核心运行一半,另一个核心运行另一半.当然,您可能希望将其概括为4核或更多核心....

为应用程序设置优先级只会将其向上移动到队列,该队列首先有机会使用CPU.如果存在等待CPU的实时进程,则它将始终在高优先级之前获取它,依此类推优先级列表.即使您的应用程序具有低优先级,如果它有足够的工作要做,它仍然可以最大化CPU核心,并且没有更高优先级的进程想要使用该核心.

有关多线程的介绍,请查看以下问题:


Joh*_*hnC 9

你可能有一个双核处理器,你的程序可能是单线程的.


Gre*_*ill 5

优先级与您的进程使用多少CPU几乎没有关系.这是因为如果有可用的东西运行,操作系统会安排它运行,即使它是低优先级.当有两个或更多可运行线程可供选择时,优先级才会进入.(注意:这是极端的简化.)

诸如Prime95之类的数字运算程序以尽可能的优先级运行,并产生多个线程以使用所有尽可能多的CPU.