是否可以使用Task或Parallel类方法

时间:2019-02-20 14:51:21

标签: .net multithreading core

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

所以我的查询很少

如何并行处理队列中的多个请求是使用Task还是Parallel类

1 个答案:

答案 0 :(得分:0)

您要描述的是一系列I / O绑定的REST调用。您应该做的是遍历这些调用,等待每个调用。像

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

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

经典意义上的并行性是关于线程和CPU限制的工作,因此不适合您的情况。