【发布时间】:2023-03-13 22:28:01
【问题描述】:
我有一些合并 XML 文档的代码。它可以根据需要合并任意数量的文档,但是一旦数量开始增加,它就会变得有点慢。
private string MergeList(List<string> documents)
{
string result = string.Empty;
for (int i = 0; i < documents.Count; i++)
{
switch (i)
{
case 0: // Do nothing on first elapse
break;
case 1: // Use first and second
result = Merge(documents[0], documents[i]);
break;
default: // Now just keep merging until no more documents in list
result = Merge(result,documents[i]);
break;
}
}
return result;
}
有没有什么聪明的方法来做这个多线程?我需要做的就是最终将所有文档合并到同一个字符串中。它们合并的顺序无关紧要。
我可以想象一定有某种模式可以做到这一点?
【问题讨论】:
-
Merge是做什么的?简单的字符串连接还是更复杂的东西? -
从索引 1 而不是 0 开始循环怎么样?
-
它合并了两个 XML 文档——不是火箭科学合并——但也不仅仅是简单的串联。查找存在于其中一个而不存在于另一个中的元素,更改一些引用等。
-
Scoregraphic - 好点,但这对我的整体问题没有帮助。
-
这就是我添加它作为评论的原因 ;-)
标签: c# multithreading design-patterns merge parallel-processing