Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 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();
 }