示例#1
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);
            }
        }
示例#2
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);
        }