如何在Task< int>列表之间插入延迟? [英] How can I insert a delay between a List of Task<int>?

查看:33
本文介绍了如何在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);
 }

根据您的需要.

这篇关于如何在Task&lt; int&gt;列表之间插入延迟?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆