小编Kon*_*tko的帖子

嵌套Task.WhenAll有什么限制吗?

让我们想象一些抽象代码

    private void Main()
    {
        var workTask1 = DoWork1();
        var workTask2 = DoWork2();
        var workTask3 = DoWork3();

        await Task.WhenAll(workTask1, workTask2, workTask3);

        AnalyzeWork(workTask1.Result, workTask2.Result, workTask3.Result);
    }

    private async Task<object> DoWork1()
    {
        var someOperationTask1 = someOperation1();
        var someOperationTask2 = someOperation2();

        await Task.WhenAll(someOperationTask1, someOperationTask2);

        return new object
        {
            SomeOperationResult1 = someOperationTask1.Result,
            SomeOperationResult2 = someOperationTask2.Result,
        };
    }

    private async Task<object> DoWork2()
    {
        var someOperationTask3 = someOperation3();
        var someOperationTask4 = someOperation4();

        await Task.WhenAll(someOperationTask3, someOperationTask4);

        return new object
        {
            SomeOperationResult3 = someOperationTask3.Result,
            SomeOperationResult4 = someOperationTask4.Result,
        }; …
Run Code Online (Sandbox Code Playgroud)

.net c# parallel-processing async-await

5
推荐指数
1
解决办法
688
查看次数

标签 统计

.net ×1

async-await ×1

c# ×1

parallel-processing ×1