我可以做些什么来使我的C#应用​​程序利用多个处理器内核?

Bur*_*imi 6 .net c# performance cpu-usage multiprocessor

我一直在测试.NET C#应用程序使用资源(如CPU或内存)的方式.我写了一些循环来计算大量数字的值,我对算法的权重感到满意.

我有一个四核2.4 GHz处理器,但我注意到在任务管理器中,我的应用程序只使用了我的CPU的25%.为什么不使用100%?这是否意味着在VS 2008中编译的.NET C#应用程序仅支持单核CPU?或者有没有办法可以强制它使用所有的CPU?

Mat*_*len 5

这一切都取决于您如何修改代码以使用多个核心.

除非您正在进行并行或多线程操作,否则程序将不会使用多个核心.

.NET 4有一个可以帮助您的库:并行LINQ.有关详细信息,请参阅此页面:http://msdn.microsoft.com/en-us/library/dd997425.aspx


Bur*_*imi 1

如果我使用后台工作人员,如果我有 CPU QuadCore 4CPU,有人可以写一个例子吗?它对那个 CPU 有何反应?

  • 是的,后台工作程序将在单独的线程中运行,并允许超过 1 个核心的 CPU 使用率。您总共需要 4 个线程才能使用 4 个核心。困难的部分是弄清楚如何最好地将您的任务分解为单独的工作。 (2认同)