【问题标题】:Difference between Task.WaitAll and Parallel.Invoke?Task.WaitAll 和 Parallel.Invoke 之间的区别?
【发布时间】:2013-09-12 21:45:31
【问题描述】:

我遇到了两种并行调用两个方法的方法

Parallel.Invoke(new Action[]())

Task.WaitAll(new Task[]())

任何机构都可以帮助了解它们之间的区别吗?

【问题讨论】:

标签: asp.net-mvc linq task performance-testing c#-5.0


【解决方案1】:

这两种方法在内部都适用于线程池。这两个有不同的意见,我个人更喜欢 Parallel.Invoke() 来并行运行动作并在完成后等待它们。

【讨论】:

  • 我不确定这是否正确。 Task.WaitAll 只等待任务。可以说它们是一些异步 I/O 任务。在这种情况下,它们也可以在没有线程池的情况下运行,并且 Parallel.Invoke 创建“正常”线程池任务并等待它们完成。
  • @SebastianStehle 我同意你的看法!我只是想为大多数一般情况总结一下。感谢您指出这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 2020-05-10
  • 2014-09-20
  • 2010-10-28
相关资源
最近更新 更多