예제 #1
0
파일: Program.cs 프로젝트: war-man/Training
        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
파일: Program.cs 프로젝트: war-man/Training
        /// <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);
        }