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);
}
}