110,572
社区成员
发帖
与我相关
我的任务
分享
public static Task TestTask(int Index)
{
Task task1 = Task.Run(() =>
{
//较高耗时过程。。
return;
});
return task1;
}
Parallel.For(0, 6, new ParallelOptions() { MaxDegreeOfParallelism = 6 }, async (i) =>
{
await TestTask(i);
});
Console.WriteLine($"结束");
ConcurrentBag<Task> bag = new ConcurrentBag<Task>(); //注意这里请使用线程安全类列表,因为你下面这个并行实际会是多线程的,如果使用list这种非线程安全的列表,会产生意外
Parallel.For(0, 6, new ParallelOptions() { MaxDegreeOfParallelism = 6 }, (i) =>
{
bag.add(TestTask(i));
});
await Task.WhenAll(bag)
public static voidTestTask(int Index)
{
//较高耗时过程。。
}
Parallel.For(0, 6, new ParallelOptions() { MaxDegreeOfParallelism = 6 }, (i) =>
{
TestTask(i);
});
Console.WriteLine($"结束");