gpt4 book ai didi

c# - 使用并行 Foreach 处理文件。这是最好的方法吗

转载 作者:太空狗 更新时间:2023-10-29 23:51:53 27 4
gpt4 key购买 nike

一些建议我有 100.000 多个 xml 文件要处理并移动到另一个系统。

这个概念很简单,我有一个像这样的循环:

    public void ProcessFiles()
{
IEnumerable<FileInfo> orderedFiles = GetFilesOrdered();

foreach (FileInfo file in orderedFiles)
{
ProcessFile(file);
}
}

我一直在阅读有关 Task Parallel 库的信息,但没有那么自信。不是很粘在线程上。看来 TPL 为我包装了很多东西。

简单来说就是使用parallel.Foreach的情况吗?

任何 sample 或建议

最佳答案

是的,它可能就像将 foreach 替换为 Parallel.ForEach 一样简单。

您必须记住,多个线程现在将同时执行 ProcessFile

因此,如果您在该方法中写入任何共享状态,则必须使用同步结构来保护它。

如果您是多线程的新手,您应该在这里阅读一本很棒的介绍性电子书:Albahari

关于c# - 使用并行 Foreach 处理文件。这是最好的方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14376072/

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