Exemple #1
0
        public void MulitThread()
        {
            PrepareAdslConfig();
            var executor = new MutexRedialExecutor(new DefaultAdslRedialer("adsl_account.txt"));

            executor.IsTest = true;
            NetworkCenter.Current.Executor = executor;

            Stopwatch watch = new Stopwatch();

            watch.Start();

            Parallel.For(0, 5, new ParallelOptions
            {
                MaxDegreeOfParallelism = 5
            }, j =>
            {
                for (int i = 0; i < 400; ++i)
                {
                    NetworkCenter.Current.Executor.Execute("test", () =>
                    {
                        Console.Write("requested,");
                    });

                    if (i % 100 == 0)
                    {
                        NetworkCenter.Current.Executor.Redial();
                    }
                }
            });
            watch.Stop();
            Console.WriteLine("cost: " + watch.ElapsedMilliseconds);

            var executor2 = new FileLockerRedialExecutor(new DefaultAdslRedialer("adsl_account.txt"));

            executor2.IsTest = true;
            NetworkCenter.Current.Executor = executor2;
            watch.Reset();
            watch.Start();
            Parallel.For(0, 5, new ParallelOptions
            {
                MaxDegreeOfParallelism = 5
            }, j =>
            {
                for (int i = 0; i < 400; ++i)
                {
                    NetworkCenter.Current.Executor.Execute("test", () =>
                    {
                        Console.Write("requested,");
                    });

                    if (i % 100 == 0)
                    {
                        NetworkCenter.Current.Executor.Redial();
                    }
                }
            });
            watch.Stop();
            Console.WriteLine("cost: " + watch.ElapsedMilliseconds);
        }
        public void MulitThread()
        {
            PrepareAdslConfig();
            var executor = new MutexRedialExecutor(new AdslRedialer("adsl_account.txt"));

            executor.IsTest = true;
            NetworkCenter.Current.Executor = executor;

            Parallel.For(0, 5, new ParallelOptions
            {
                MaxDegreeOfParallelism = 5
            }, j =>
            {
                for (int i = 0; i < 400; ++i)
                {
                    NetworkCenter.Current.Executor.Execute("test", () =>
                    {
                        Thread.Sleep(50);
                    });

                    if (i % 100 == 0)
                    {
                        NetworkCenter.Current.Executor.Redial();
                    }
                }
            });

            var executor2 = new FileLockerRedialExecutor(new AdslRedialer("adsl_account.txt"));

            executor2.IsTest = true;
            NetworkCenter.Current.Executor = executor2;

            Parallel.For(0, 5, new ParallelOptions
            {
                MaxDegreeOfParallelism = 5
            }, j =>
            {
                for (int i = 0; i < 400; ++i)
                {
                    NetworkCenter.Current.Executor.Execute("test", () =>
                    {
                        Thread.Sleep(50);
                    });

                    if (i % 100 == 0)
                    {
                        NetworkCenter.Current.Executor.Redial();
                    }
                }
            });
        }