是否使用Task或Parallel类方法

问题描述 投票:0回答:1

我正在开发一个Asp.Net Core组件,它有一些接口来获取某些进程执行的请求。这个请求将同步一个请求被接受并且提交令牌返回给调用者。请求将添加到队列中并异步处理。每个请求执行都涉及进行一些休息调用以获取一些数据,执行进程等。

所以我几乎没有疑问

如何从队列中并行处理多个请求是否使用Task或Parallel类

.net multithreading core
1个回答
0
投票

您所描述的是一系列I / O绑定的REST调用。你应该做的是循环这些调用,等待每个调用。就像是

public async Task X()
{
    // add requests to queue
    ...

    foreach (var request in queue)
    {
        await ExecuteRequest(request);
    }
}

经典意义上的并行性是关于线程和CPU绑定的工作,因此不适合您的场景。

© www.soinside.com 2019 - 2024. All rights reserved.