ActorBenchmark.Program.skynetThreadpoolValueTaskAsync C# (CSharp) Method

skynetThreadpoolValueTaskAsync() private static method

private static skynetThreadpoolValueTaskAsync ( long num, long size, long div ) : Task
num long
size long
div long
return Task
        private static Task<long> skynetThreadpoolValueTaskAsync(long num, long size, long div)
        {
            if (size == 1)
            {
                return Task.FromResult(num);
            }
            else
            {
                var tasks = new List<Task<long>>((int)div);
                for (var i = 0; i < div; i++)
                {
                    var sub_num = num + i * (size / div);
                    var task = Task.Run(() => skynetValueTaskAsync(sub_num, size / div, div).AsTask());
                    tasks.Add(task);
                }
                return Task.WhenAll(tasks).ContinueWith(skynetAggregator);
            }
        }