KBN*_*nda 1 c# multithreading asynchronous async-await .net-core
问题陈述
我需要一次性发送多个 API 调用。
我有三个不同的 API 端点,如下所示,所有这些端点都需要尽快调用在一起。这一切都是相互独立的。
public async Task<string> GetA(string a)
{
}
public async Task<string> GetB(int a)
{
}
public async Task<string> GetC(int a, string a)
{
}
Run Code Online (Sandbox Code Playgroud)
我尝试过的
我正在尝试这样:
public async Task CallMultipleAPIs()
{
await GetA("");
await GetB(1);
await GetC(1, "");
}
Run Code Online (Sandbox Code Playgroud)
这里如何实现并行呢?
您需要的是并发性(而不是并行性 - 即多线程)。
并发异步代码是通过使用以下方式完成的Task.WhenAll
:
public async Task CallMultipleAPIs()
{
var taskA = GetA("");
var taskB = GetB(1);
var taskC = GetC(1, "");
await Task.WhenAll(taskA, taskB, taskC);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3657 次 |
最近记录: |