【发布时间】:2021-06-10 08:39:34
【问题描述】:
我第一次使用 Parallel.For 来填充列表(这里是 ConcurrentBag) 但似乎 ConcurrentBag 从其他线程接收数据。 我在 xSource 中有大量数据,任务是将其分发到多个列表。 这里有什么问题?
public static void getNearXvalues(double deltaX, double xCenter, double[] xSource, out double[] xNear)
{
var xList = new ConcurrentBag<double>();
Parallel.For(0, xSource.Length, i =>
{
if((Mat.Abs(xCenter-xSource)<deltaX)
{
xList.Add(xSource[i]);
}
});
xNear = xList.ToArray();
}
【问题讨论】:
标签: thread-safety parallel.for