Parallel.ForEach与Task.Run和Task.WhenAll

使用Parallel.ForEach或Task.Run()异步启动一组任务之间有什么区别?


版本1:


List<string> strings = new List<string> { "s1", "s2", "s3" };

Parallel.ForEach(strings, s =>

{

    DoSomething(s);

});

版本2:


List<string> strings = new List<string> { "s1", "s2", "s3" };

List<Task> Tasks = new List<Task>();

foreach (var s in strings)

{

    Tasks.Add(Task.Run(() => DoSomething(s)));

}

await Task.WhenAll(Tasks);


翻阅古今
浏览 831回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP