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

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

问题描述:

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

I have a loop that creates 5 Tasks. How can I insert a Delay of 5 seconds between each Task. I don't know how to fit Task.Delay(5000) in there.

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

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

 await Task.WhenAll(tasks);

我的ProcessQueAsync方法调用服务器,检索数据并返回并进行int.

My ProcessQueAsync method calls a server, retrieves data and returns and 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);
 }

根据您的需要.