Parallel.For 内の List<> に追加する C# .Net 4 コードがあります。これがスレッドセーフかどうかについての明確な答えが見つかりません。安全でない場合、代替手段は何ですか?
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;
}