我有这个简单的(虚拟)代码:(重计算:在我的机器上 30 秒)
BigInteger number = BigInteger.Pow(Int64.MaxValue, 300000);
Console.WriteLine(number);
Plinq 会自动进行工作划分。(将工作划分为线程)。但它可以在 Ienumerable 上工作(其次是 AsParallel)
这里我没有 Ienumerable 对象。我只有 1 个命令。
如何在可用核心之间划分我的命令?
目前(如您所见)只有 1 个核心在做艰苦的工作:
编辑 :
将其放在 Task 下不会将其划分为所有核心:
Task<BigInteger> t=Task.Factory.StartNew(()=>BigInteger.Pow(Int64.MaxValue, 300000));
Console.WriteLine(t.Result);
Console.ReadLine();