基本上,我正在使用这个:
var data = input.AsParallel();
List<String> output = new List<String>();
Parallel.ForEach<String>(data, line => {
String outputLine = "";
// ** Do something with "line" and store result in "outputLine" **
// Additionally, there are some this.Invoke statements for updating UI
output.Add(outputLine);
});
Run Code Online (Sandbox Code Playgroud)
输入是一个List<String>对象.该ForEach()语句对每个值进行一些处理,更新UI,并将结果添加到output List.这有什么本质上的错误吗?
笔记:
更新:
根据我得到的反馈,我lock在output.Add声明中添加了一个手册,以及UI更新代码.