我有一个IEnumerable动作,它们在执行时消耗的时间是排序的.现在我希望所有这些都能并行执行.有没有比这更好的解决方案?
IEnumerable<WorkItem> workItemsOrderedByTime = myFactory.WorkItems.DecendentOrderedBy(t => t.ExecutionTime);
Parallel.ForEach(workItemsOrderedByTime, t => t.Execute(), Environment.ProcessorCount);
Run Code Online (Sandbox Code Playgroud)
所以我的想法是首先根据他们需要完成的时间执行所有费用任务.
编辑:问题是,是否有一个更好的解决方案,以最少的时间完成所有.