普通并发
Parallel.For(1, 500, new ParallelOptions() { MaxDegreeOfParallelism = 2 }, i =>
{
Console.WriteLine(i);
Thread.Sleep(2000);
});
异步并发
此时,内部并不会等待方法执行完成,并发数量失效
Parallel.For(1, 500, new ParallelOptions() { MaxDegreeOfParallelism = 2 }, async i =>
{
Console.WriteLine(i);
await Task.Delay(2000);
});
可以在里面再套一层
Parallel.For(0, 500, new ParallelOptions { MaxDegreeOfParallelism = 2 }, i =>
{
Task.Run(async () =>
{
Console.WriteLine(i);
await Task.Delay(2000);
}).Wait();
});