Определить время выполнения программы - C#
Формулировка задачи:
Вот задание
Вот написал код
но он не так работает
надо что бы выводил
Count of core : 2
A =...
время
B =
время-
Сейчас выводит
Count of core : 2
С = ..
время
С =...
время
Ско-ко времени будет выполняться при обработке программа выполняющая два фрагмента кода в разных потоках; три фрагмента в разных потоках и т.д., до N+1. Потоки при этом создавайте с использованием лямбда-выражений. Необходимо заблокировать выполнение основного процесса до завершения работы всех потоков.
using System; using System.Threading; namespace ConsoleApplication1 { class Program { private static void Main(string[] args) { char[] abc = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'I'}; Console.Write("Enter count of core = "); int n = int.Parse(Console.ReadLine()); for (var i = 0; i < n; i++) { int j = 0; Console.WriteLine("count of core : " + (i+1)); while (j <= i) { var t = new Thread(() => { // начало фрагмента кода DateTime t1 = DateTime.Now; double x = 12345.6789; for (int l = 0; l < 10000; l++) for (int m = 0; m < 10000; m++) { x = Math.Sqrt(x); x = x + 0.000000001; x = Math.Pow(x, 2); } Console.WriteLine(abc[j] + ": " + x); DateTime t2 = DateTime.Now; Console.WriteLine(t2 - t1); // end } ); t.Start(); j++; } } Console.Read(); Console.WriteLine("press any key"); Console.ReadKey(); } } }
Решение задачи: «Определить время выполнения программы»
textual
Листинг программы
using System; using System.Diagnostics; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { private static void Main(string[] args) { char[] abc = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'I' }; Console.Write("Enter count of core = "); var tasks = new Task[int.Parse(Console.ReadLine())]; for (var i = 0; i < tasks.Length; i++) { int j = i; tasks[i] = Task.Run(() => { var sw = Stopwatch.StartNew(); double x = 12345.6789; for (int l = 0; l < 100; l++) for (int m = 0; m < 100; m++) { x = Math.Sqrt(x); x = x + 0.000000001; x = Math.Pow(x, 2); } sw.Stop(); Console.WriteLine("{0} : {1}\r\n{2}", abc[j], x, sw.Elapsed); }); } Task.WaitAll(tasks); Console.WriteLine("press any key"); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д