static void Main(string[] args)
long[] inputs = new long[] { 2101000000, 1800000000, 1501000000, 2110000000 };
var startTime = DateTime.Now;
Console.WriteLine($"Using single thread. Started: {startTime.ToLongTimeString()}");
foreach (var input in inputs)
var finishTime = DateTime.Now;
Console.WriteLine($" Single thread - Finished at {finishTime.ToLongTimeString()}. Total time consumed (in sec): {(finishTime - startTime).TotalSeconds}");
startTime = DateTime.Now;
Console.WriteLine($"Using multi threads. Started: {startTime.ToLongTimeString()}");
foreach (var input in inputs)
Thread myThread = new Thread(() => Sum(input));
Console.WriteLine($" Multi threads - Total time consumed (in sec): {(DateTime.Now - startTime).TotalSeconds}");
public static void Sum(long input)
Console.WriteLine($"------- input {input}. Started: {DateTime.Now.ToLongTimeString()}");
var startTime = DateTime.Now;
for (int i = 1; i <= input; i++)
Console.WriteLine($"-------- Sum of {input} equals {result: # ###}, finished at {DateTime.Now.ToLongTimeString()}. Time consumed (in sec): {(DateTime.Now - startTime).TotalSeconds}");
public static void Count(int size)
for (int i = 1; i < size; i++)
Console.WriteLine("Второй поток:");
Console.WriteLine(i * i);