using System;
using System.Threading;
class Program {
static int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
static int sum1 = 0, sum2 = 0;
static void Main(string[] args) {
Thread t1 = new Thread(CalculateSum);
Thread t2 = new Thread(CalculateSum);
t1.Start(0);
t2.Start(numbers.Length / 2);
t1.Join();
t2.Join();
int totalSum = sum1 + sum2;
Console.WriteLine("Total sum: " + totalSum);
Console.ReadLine();
}
static void CalculateSum(object startIndex) {
int start = (int)startIndex;
int end = start + numbers.Length / 2;
for (int i = start; i < end; i++) {
Interlocked.Add(ref sum1, numbers[i]);
}
}
}