我正在开发一个Asp.Net Core组件,它有一些接口来获取某些进程执行的请求。这个请求将同步一个请求被接受并且提交令牌返回给调用者。请求将添加到队列中并异步处理。每个请求执行都涉及进行一些休息调用以获取一些数据,执行进程等。
所以我几乎没有疑问
如何从队列中并行处理多个请求是否使用Task或Parallel类
您所描述的是一系列I / O绑定的REST调用。你应该做的是循环这些调用,等待每个调用。就像是
public async Task X()
{
// add requests to queue
...
foreach (var request in queue)
{
await ExecuteRequest(request);
}
}
经典意义上的并行性是关于线程和CPU绑定的工作,因此不适合您的场景。