Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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);
            }
        }