gpt4 book ai didi

c# - 在 C# 中使用多线程加速循环(问题)

转载 作者:可可西里 更新时间:2023-11-01 07:59:45 24 4
gpt4 key购买 nike

假设我有一个函数,它遍历一百万/十亿个字符串并检查其中的某些内容。

例如:

foreach (String item in ListOfStrings)
{
result.add(CalculateSmth(item));
}

它会消耗很多时间,因为 CalculateSmth 是一个非常耗时的函数。

我想问一下:这种进程怎么集成多线程?

f.ex:我想启动 5 个线程,每个线程都返回一些结果,这样一直持续到列表有项目为止。

也许任何人都可以展示一些示例或文章..

忘了说我在 .NET 2.0 中需要它

最佳答案

你可以试试 Parallel extensions (.NET 4.0 的一部分)

这些允许你写这样的东西:

Parallel.Foreach (ListOfStrings, (item) => 
result.add(CalculateSmth(item));
);

当然 result.add 需要线程安全。

关于c# - 在 C# 中使用多线程加速循环(问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/100291/

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