c# - 如何在 Task<int> 列表之间插入延迟?

标签 c# async-await

我有一个创建 5 个任务的循环。如何在每个任务之间插入 5 秒的延迟。我不知道如何在其中安装 Task.Delay(5000)。

 var tasks = new List<Task<int>>();

 for (var i = 0; i < 5; i++)
 {  
      tasks.Add(ProcessQueueAsync());
 }

 await Task.WhenAll(tasks);

我的 ProcessQueAsync 方法调用服务器、检索数据并返回 int。

  private async Task<int> ProcessQueAsync()
  {
     var result = await CallToServer();
     return result.Count;
  }

最佳答案

 for (var i = 0; i < 5; i++)
 {  
      tasks.Add(ProcessQueueAsync());
      await Task.Delay(5000);
 }

或者:

 for (var i = 0; i < 5; i++)
 {  
      await ProcessQueueAsync();
      await Task.Delay(5000);
 }

根据你的需要。

关于c# - 如何在 Task<int> 列表之间插入延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28996680/

相关文章:

c# - 我无法使用 c# 的 StreamReader 类从 .txt 文件中读取内容

c# - 防止 SELECT 语句中的 SQL 注入(inject)

c# - 调用多个相互依赖的异步方法

c# - 无法将 azure storage api nuget 包添加到我的控制台应用程序

node.js - 在循环 Node js中执行多个函数后如何调用另一个函数

flutter - 为什么这个使用 FakeAsync 的测试只是卡在 "await"上,即使 future 已经完成?

c# - Azure 存储表 : await table. ExecuteAsync(InsertOperation) 执行,但从未完成

async-await - 调用 FutureExt::boxed() 时缺少 Send 的实现

javascript - 意外行为将 process.nextTick 与 async/await 混合。事件循环在这里如何工作?

javascript - 如何在jquery中获取从C#类设置的cookie值?