gpt4 book ai didi

c# - 在 LINQ 中并行加载图像

转载 作者:行者123 更新时间:2023-11-30 14:28:41 25 4
gpt4 key购买 nike

我正在试验并行和 LINQ。看看下面的代码。它有效,但只是为了理解:

private void LoadImages(string path)
{
images =
Directory.GetFiles(path)
.Select(f => GetImage(f))
.ToList();
}

private Image GetImage(string path)
{
return Image.FromFile(path);
}

所以我基本上是从指定目录中找到的每个文件获取图像。问题是 - 如何使这种平行?现在就像迭代它们一样。我想“以某种方式”将它并行化。不知何故,因为我太缺乏经验,无法提出如何实现这一目标的想法,所以这就是为什么我要问你们,伙计们,指望一些帮助来使这更快:)

最佳答案

使用 PLINQ:

var images=(from file in Directory.EnumerateFiles(path).AsParallel()
select GetImage(file)).ToList();

读取图像不受 CPU 限制,因此您可以指定更高的并行度:

var images=(from file in Directory.EnumerateFiles(path)
.AsParallel()
.WithDegreeOfParallelism(16)
select GetImage(file)).ToList();

关于c# - 在 LINQ 中并行加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28884090/

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