Untitled

 avatar
unknown
csharp
2 years ago
775 B
0
Indexable
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]);
        }
    }
}