gpt4 book ai didi

c# - 使用更多方法提高C#中Parallel.For的性能

转载 作者:行者123 更新时间:2023-12-03 13:19:13 24 4
gpt4 key购买 nike

最近,我偶然发现了Parralel.For循环,其性能要比常规的for循环好。

这是我的用法:

Parallel.For(0, values.Count, i =>Products.Add(GetAllProductByID(values[i])));

它使我的应用程序运行得更快,但仍然不够快。我对你们的问题是:
  • Parallel.Foreach的执行速度是否比Parallel.For快?
  • 是否可以与我的Parralel.For循环组合使用一些“混合”方法以更快地执行(即使用更多的CPU能力)?如果是,怎么办?

  • 有人可以帮我这个忙吗?

    最佳答案

    如果您想玩并行游戏,我建议使用Parallel Linq(PLinq)而不是Parallel.For/Parallel.ForEach,例如

     var Products = Enumerable
    .Range(0, values.Count)
    .AsParallel()
    //.WithDegreeOfParallelism(10) // <- if you want, say 10 threads
    .Select(i => GetAllProductByID(values[i]))
    .ToList(); // <- this is thread safe now

    借助 With方法(例如 WithDegreeOfParallelism),您可以尝试调整实现。

    关于c# - 使用更多方法提高C#中Parallel.For的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40221882/

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