gpt4 book ai didi

asp.net -parallel.for 是如何工作的

转载 作者:行者123 更新时间:2023-12-02 10:51:45 24 4
gpt4 key购买 nike

parallel.for 是如何工作的。它是否为每个循环调用线程/将循环分成几部分并并行执行它们?如果确实如此,那么我们能否确保与正常 for 循环相同的结果?我测试了性能,它确实使用了多核处理器。但我想知道其内部工作原理

最佳答案

Parallel.For 将工作划分为多个并发迭代。默认情况下,它使用默认任务调度程序来调度迭代,这实际上使用当前线程以及许多线程池线程。有一些重载可以让您改变这种行为。

并行循环可能看起来与常规循环非常相似,但实际上有许多重要的区别。首先,不能保证迭代的顺序。 IE。该代码不能采用任何特定的顺序。这样做会导致不可预测的结果。

此外,由于代码可能在多个线程上运行,因此异常处理与常规 for 循环完全不同。 Parallel.For 将捕获线程的异常,并将这些异常作为 AggregateException 实例中的内部异常编码(marshal)回调用线程。

有关更多详细信息,请查看Parallel Programming with Microsoft .NET通过 Microsoft 模式和实践。

关于asp.net -parallel.for 是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5468572/

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