因为我已经创建了难以计算的应用程序 - >很多工作要做,而不是非常复杂的计算 - >它需要很长时间才能完成,并且该过程仅占CPU的45%。我可以以某种方式最大化它吗?:达到90%?
答案 0 :(得分:7)
如果你有一台双核机器(我猜你这么做了),你希望在一个线程中获得的最多就是50%的CPU使用率。
要获得90%的CPU使用率,您很可能需要对计算进行处理。这可能非常简单,也可能非常困难,具体取决于您要线程化的算法的性质。
如果您可以将工作集分成多个组,我建议您考虑使用ThreadPool,或者甚至可能使用Task Parallel Library,具体取决于您的发布时间。
答案 1 :(得分:2)
您很可能拥有双核CPU,如果您的应用是单线程的,它将使用的最大CPU为50%(所有一个核心)。为了更好地使用,您需要使用多个线程,但这也意味着要找出一些方法将计算分解为多个部分,以便它们可以由多个核心处理。
答案 2 :(得分:2)
检查一下:
答案 3 :(得分:1)
如果你只是有一个简单的循环进行计算,那么很可能你的计算机有两个核心/处理器。单线程应用程序最多只能使用50%的CPU。
您需要多个线程才能在多核计算机上使用整个CPU。