我想弄清楚为什么这两个异步方法不能并行工作。请注意,每个方法都会返回一些 html,并且对于其中的这个 Iteration(它的演示代码)(原始代码在我的 .Net 项目中)。
每种方法都需要 9 秒才能完成。
这两种方法都是异步的,即使它在单个方法中调用和运行也需要 18 秒才能完成。这意味着它不会并行运行。
总的来说,我想要的是,完成这两种方法应该需要 9 秒。怎么可能?请建议并行运行这两种方法。(我想要这个,因为在我的项目中,一个方法中有很多方法,我希望所有方法都并行运行)
提前致谢。
请查看以下代码:
namespace LearnAynchStackOverflow
{
class Program
{
static async Task Main(string[] args)
{
var startTime = DateTime.Now;
Console.WriteLine($"Start time: {startTime}");
var emailHtml = EmailTemplate.EmailHtml();
var smsHtml = SmsTemplate.SmsHtml();
var f = await Task.WhenAll(emailHtml, smsHtml);
var endTime = DateTime.Now;
Console.WriteLine($"End time: {endTime}");
Console.ReadLine();
}
}
public class EmailTemplate
{
//This method takes 9 seconds to complete
public static async Task<string> EmailHtml()
{
string str = string.Empty; …Run Code Online (Sandbox Code Playgroud)