/// <summary> /// Замеряет и выводит на экран время потраченное на решение уравнений без использования потоков /// </summary> /// <param name="equationCount">Количество уравнений которые необходимо решить</param> //private static void BenchmarkWithoutThreads(Equation[] equations) private static void BenchmarkWithoutThreads(int equationCount) { Console.Write("Время на решение без потоков: "); var coeffEnumerator = new RandomCoeffEnumerator().GetEnumerator(); Stopwatch watch = Stopwatch.StartNew(); for (int i = 0; i < equationCount; i++) { coeffEnumerator.MoveNext(); Equation eq = coeffEnumerator.Current; Solve(ref eq); } watch.Stop(); Console.WriteLine("{0:F4} сек.", watch.Elapsed.TotalSeconds); }
static void SolveThread(object data) { int equationCount = (int)data; var coeffEnumerator = new RandomCoeffEnumerator().GetEnumerator(); for (int i = 0; i < equationCount; i++) { coeffEnumerator.MoveNext(); Equation eq = coeffEnumerator.Current; Solve(ref eq); } }