【发布时间】:2016-07-26 04:19:10
【问题描述】:
仍处于 C# 学习阶段,遇到了一个我需要帮助的问题。考虑以下代码:
private async Task<String> PrintTask()
{
await Task.Delay(3000);
return "Hello";
}
private async void SayHelloTwice()
{
string firstHello = await PrintTask();
string secondHello = await PrintTask();
Console.WriteLine(firstHello);
Console.WriteLine(secondHello);
}
现在 SayHelloTwice() 需要 6 秒才能完成。但是,我希望检索任务并行运行,这样只需 3 秒即可完成。我将如何重构我的代码来实现这一目标?谢谢!
【问题讨论】:
-
只是对术语的评论:“并行”意味着多个线程。你想要的是异步并发,而不是并行。
标签: c# asynchronous parallel-processing async-await task