示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }