static void Main(string[] args) { InsertionSorter Sorter1 = new InsertionSorter(); BubbleSorter Sorter2 = new BubbleSorter(); SelectionSorter Sorter3 = new SelectionSorter(); //生成随机元素的数组 int iCount = 10000; Random random = new Random(); Sorter1.list = new int[iCount]; Sorter2.list = new int[iCount]; Sorter3.list = new int[iCount]; for (int i = 0; i < iCount; ++i) { Sorter1.list[i] = Sorter2.list[i] = Sorter3.list[i] = random.Next(); } //多线程运行 Thread sortThread1 = new Thread(new ThreadStart(Sorter1.Sort1)); Thread sortThread2 = new Thread(new ThreadStart(Sorter2.Sort2)); Thread sortThread3 = new Thread(new ThreadStart(Sorter3.Sort3)); Thread sortThread4 = new Thread(new ThreadStart(Sorter1.Sort1)); Thread sortThread5 = new Thread(new ThreadStart(Sorter2.Sort2)); Thread sortThread6 = new Thread(new ThreadStart(Sorter3.Sort3)); Stopwatch star = new Stopwatch(); star.Start(); sortThread1.Start(); sortThread2.Start(); sortThread3.Start(); sortThread4.Start(); sortThread5.Start(); sortThread6.Start(); while (true) { if (sortThread1.ThreadState == System.Threading.ThreadState.Stopped && sortThread2.ThreadState == System.Threading.ThreadState.Stopped && sortThread3.ThreadState == System.Threading.ThreadState.Stopped && sortThread4.ThreadState == System.Threading.ThreadState.Stopped && sortThread5.ThreadState == System.Threading.ThreadState.Stopped && sortThread6.ThreadState == System.Threading.ThreadState.Stopped) { star.Stop(); Console.WriteLine(star.Elapsed.TotalMilliseconds); break; } } Console.ReadKey(); }
static void Main(string[] args) { InsertionSorter Sorter1 = new InsertionSorter(); BubbleSorter Sorter2 = new BubbleSorter(); //生成随机元素的数组 int iCount = 10000; Random random = new Random(); Sorter1.list = new int[iCount]; Sorter2.list = new int[iCount]; for (int i = 0; i < iCount; ++i) { Sorter1.list[i] = Sorter2.list[i] = random.Next(); } Thread sortThrean1 = new Thread(new ThreadStart(Sorter1.Sort1)); Thread sortThread2 = new Thread(new ThreadStart(Sorter2.Sort2)); Console.Read(); }