我该怎么做才能使我的c#申请利用多个处理器核心?
-
09-10-2019 - |
题
我一直在进行一些测试。我编写了一些计算大量数字值的循环,我对算法的重量感到满意。
我有一个Quad Core 2.4 GHz处理器,但是我注意到在任务管理器中,我的应用程序仅使用CPU的25%。为什么不使用100%?这是否意味着在VS 2008中编译的.NET C#应用程序仅支持单核CPU?还是有一种方法可以强迫它使用所有CPU?
解决方案 4
如果我使用背景工人,如果我有cpu QUADCORE 4CPU的人可以写一个示例,该怎么办?
其他提示
这完全取决于您如何修改代码以使用多个核心。
除非您进行并行或多线程操作,否则该程序将不会使用多个核心。
.NET 4具有可以帮助您的库:并行Linq。有关更多信息,请参见此页面: http://msdn.microsoft.com/en-us/library/dd997425.aspx
除非您明确启动一些线程,否则它将以1个核心运行。
最简单的方法是将方法推到线池上。
System.Threading.ThreadPool.QueueUserWorkItem(DoSomething);
void DoSomething() { ... }
利用 .NET 4.0
TaskLibrary
该设计旨在从多核处理器中受益。
不隶属于 StackOverflow