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(); } } }); }