using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Diagnostics; namespace ParallelDemo1 { class Program { static void Main(string[] args) { //使用Stopwatch进行精准计数 Stopwatch timer = Stopwatch.StartNew(); Stopwatch timer1 = Stopwatch.StartNew(); Stopwatch timer2 = Stopwatch.StartNew(); //并行任务一,实现正数相加 Task<long> positiveTask = Task<long>.Factory.StartNew(() => { long posTotal = 0; for (int i = 0; i < int.MaxValue; i++) { //汇总所有负数值 posTotal += i; } timer1.Stop(); return posTotal; }); //并行任务二,实现负数相加 Task<long> negativeTask = Task<long>.Factory.StartNew(() => { long negTotal = 0; for (int i = 0; i > int.MinValue; i--) { //汇总所有负数值 negTotal += i; } timer2.Stop(); return negTotal; }); //将正数结果和负数结果相加 long combinedTotal = positiveTask.Result + negativeTask.Result; timer.Stop();//停止计算时间 //输出结果 Console.WriteLine("花费时间:{0}", timer.Elapsed); Console.WriteLine("正数相加:{0}", positiveTask.Result +","+ timer1.Elapsed); Console.WriteLine("负数相加:{0}", negativeTask.Result + "," + timer2.Elapsed); Console.WriteLine("合并相加:{0}", combinedTotal); Console.WriteLine("请按任意键退出"); Console.ReadLine();//停止代码执行 } } }