public void ThreadStart() { var working = true; var list = new List <ITest>(); for (int i = 0; i < total; i++) { var item = currentTest.Clone() as ITest; item.Data = i; list.Add(item); } var threadSplit = new CoreHelper.ThreadSplit <ITest>(list, progress); threadSplit.OnWork = (sender) => { foreach (var item in sender) { Stopwatch sw = new Stopwatch(); sw.Start(); item.Do(item.Data); sw.Stop(); item.TotalTime = sw.ElapsedMilliseconds; } }; //任务执行完成 threadSplit.OnFinish += (sender, e) => { working = false; var n = list.Sum(b => b.TotalTime); var avg = n / list.Count; System.Windows.Forms.MessageBox.Show(string.Format("总用时{0},平均{1}", n, avg)); }; threadSplit.Start(); }
public void ThreadStart() { var working = true; var list = new List<ITest>(); for (int i = 0; i < total; i++) { var item = currentTest.Clone() as ITest; item.Data = i; list.Add(item); } var threadSplit = new CoreHelper.ThreadSplit<ITest>(list, progress); threadSplit.OnWork = (sender) => { foreach (var item in sender) { Stopwatch sw = new Stopwatch(); sw.Start(); item.Do(item.Data); sw.Stop(); item.TotalTime = sw.ElapsedMilliseconds; } }; //任务执行完成 threadSplit.OnFinish += (sender, e) => { working = false; var n = list.Sum(b => b.TotalTime); var avg = n / list.Count; System.Windows.Forms.MessageBox.Show(string.Format("总用时{0},平均{1}", n, avg)); }; threadSplit.Start(); }