/// <summary> /// 计算 1+2+3+....+n=? /// </summary> /// <returns></returns> public int Sum(int n) { var sum = 0; // var progress = new List<string>(); var threadUnit = n % _threadCount == 0 ? n / _threadCount : n / (_threadCount - 1); for (var i = 0; i < _threadCount; i++) { // 1.计算开始与结束 var start = threadUnit * i + 1; var end = threadUnit * (i + 1) > n ? n : threadUnit * (i + 1); var threadSum = new ThreadSum(start, end); // progress.Add($"{start}+...+{end}"); sum += threadSum.SumAsync().Result; } // Console.WriteLine($"{string.Join(" + ", progress)} = {sum}"); return(sum); }
/// <summary> /// 计算 1+2+3+....+100=? /// </summary> /// <returns></returns> public int Sum() { var sum = 0; { // for (var i = 1; i <= 100; i++) // { // sum += i; // } } { // sum = Sum1() + Sum2() + Sum3() + Sum4(); } { // sum = TaskSum1() + TaskSum2() + TaskSum3() + TaskSum4(); } { // sum = TaskSum1Async().Result + TaskSum2Async().Result + TaskSum3Async().Result + TaskSum4Async().Result; } { for (var i = 0; i < 4; i++) { // 1.计算开始与结束 var start = 25 * i + 1; var end = 25 * (i + 1); var threadSum = new ThreadSum(start, end); sum += threadSum.SumAsync().Result; } } return(sum); }