gpt4 book ai didi

c# - 我应该总是使用 Parallel.Foreach 因为更多的线程必须加速一切吗?

转载 作者:IT王子 更新时间:2023-10-29 03:57:05 24 4
gpt4 key购买 nike

对于每个普通的 foreach 都使用一个 parallel.foreach 循环对您来说有意义吗?

我应该什么时候开始使用 parallel.foreach,只迭代 1,000,000 个项目?

最佳答案

不,它对每个 foreach 都没有意义。一些原因:

  • 您的代码可能实际上是可并行化的。例如,如果您在下一次迭代中使用“到目前为止的结果”并且顺序很重要)
  • 如果您要聚合(例如求和值),则可以使用 Parallel.ForEach 来实现此目的,但您不应该盲目地这样做
  • 如果您的工作无论如何都会很快完成,那没有任何好处,而且很可能会减慢速度

基本上没有在线程中应该盲目地完成。想一想在什么地方真正有意义进行并行化。哦,衡量影响以确保 yield 值得增加的复杂性。 (对于调试之类的事情,变得更难。)TPL 很棒,但它不是免费的午餐。

关于c# - 我应该总是使用 Parallel.Foreach 因为更多的线程必须加速一切吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com