Parallel.For в C#
Метод Parallel.For делит диапазон индексов между потоками. У каждого потока своя частичная сумма, чтобы они не мешали друг другу на одном поле.
В конце частичные суммы сливают в общий результат. В примере это делает атомарное сложение, поэтому гонки на итоговой сумме нет.
Числа от 1 до 5 суммируются параллельно. Сумма 1+2+3+4+5 равна 15. Верхняя граница в вызове равна 6 и в диапазон не входит:
long sum = 0;
Parallel.For(1, 6, () => 0L, (i, _, local) => local + i, local => Interlocked.Add(ref sum, local));
Console.WriteLine(sum); // выведет 15
Просуммируйте параллельно числа от 2 до 6 включительно. Частичные суммы собирайте по потокам и выведите общий результат.