【发布时间】:2011-09-06 13:13:49
【问题描述】:
我调用了三种方法来进行一些数字运算,如下所示
results.LeftFront.CalcAi();
results.RightFront.CalcAi();
results.RearSuspension.CalcAi(geom, vehDef.Geometry.LTa.TaStiffness, vehDef.Geometry.RTa.TaStiffness);
每个函数相互独立,可以并行计算,没有死锁。
在所有三个都完成之前,在不完成包含方法的情况下并行计算这些的最简单方法是什么?
【问题讨论】:
-
您只对任务并行库解决方案感兴趣?直接的 Delegate.BeginInvoke() 甚至 Thread.Start() 怎么样?
-
他想等待所有结果 - 您可以按照您的建议执行此操作,但必须自己进行同步 - 恕我直言,您应该使用 Task,只要没有什么很好的理由不做 - 如果 C#/async 上线,这将变得更加重要
-
我找到的所有线程启动示例不要等到函数组完成。
-
不,他们没有,你真的应该使用任务库来处理这类事情。恕我直言,MS 正在通过异步推动这种方法,它确实是一个不错的库(几乎与 F# 的异步工作流一样好:D)
标签: c# parallel-processing task-parallel-library