我有 C# .Net 4 代码,它添加到 Parallel.For 内的 List<> 中。我找不到明确的答案来判断这是否是线程安全的。如果不安全,有什么替代方案?
static List<int> Calculate(List<string[]> numbers)
{
List<int> sums = new List<int>();
Parallel.ForEach(numbers,
(nums) =>
{
int sum = 0;
for (int i = 0; i < nums.Length; i++)
sum += Convert.ToInt32( nums[i]);
// is this thread safe or not???
sums.Add(sum);
});
sums.Sort();
return sums;
}