小编The*_*shB的帖子

异步方法不能并行工作?两种异步方法中的简单迭代,请建议如何使其并行运行?

我想弄清楚为什么这两个异步方法不能并行工作。请注意,每个方法都会返回一些 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)

.net c# asynchronous async-await

0
推荐指数
1
解决办法
522
查看次数

标签 统计

.net ×1

async-await ×1

asynchronous ×1

c# ×1