我正在尝试同时处理列表的分区。对于列表中每个分区中的每个整数,我正在尝试等待该时间。
public class Program
{
public async static void Main()
{
Console.WriteLine("Starting.");
var values = Enumerable.Range(0,1000).ToList();
await Task.WhenAll(
from partition in Partitioner.Create(values).GetPartitions(10)
select Task.Run(async delegate {
Console.WriteLine("Entered");
using (partition)
while (partition.MoveNext()){
var delay = partition.Current;
await Task.Delay(delay);
Console.WriteLine(string.Format("Waited {0} milliseconds",delay));
}
}));
Console.WriteLine("Done");
}
}
Run Code Online (Sandbox Code Playgroud)
在Task.Delay(delay)之后执行似乎停止:
Starting.
Entered
Entered
Waited 0 milliseconds
Entered
Entered
Entered
Entered
Entered
Entered
Entered
Entered
Run Code Online (Sandbox Code Playgroud)