多任务完成以后立即进行处理
2017-05-19 19:02
204 查看
几个task任务同步运行,希望每个单独任务完成以后立即进行处理,而不需要等待其他任务的完成。可通过引入更高级的async方法来await任务,并对结果进行处理。
class Program { static void Main(string[] args) { ProcessTaskAsync(); Console.ReadLine(); } /// <summary> /// 等待并输出 /// </summary> /// <param name="second"></param> /// <returns></returns> static async Task<int> DelayAsync(int second) { await Task.Delay(TimeSpan.FromSeconds(second)); return second; } static async Task ProcessTaskAsync() { //创建任务队列 Task<int> task1 = DelayAsync(2); Task<int> task2 = DelayAsync(3); Task<int> task3 = DelayAsync(1); var tasks = new[] { task1, task2, task3 }; var processTasks = tasks.Select(async t => { var result = await t; Console.WriteLine(result); }); //等待全部任务完成 await Task.WhenAll(processTasks); } }
运行结果
github地址:https://github.com/xiaopotian1990/NETAsyncDemos.git里面的TaskOver项目
相关文章推荐
- Python来完成简单图像处理任务
- 任务队列过程 对于任务的处理采用单独的线程 和任务列表进行处理
- window平台下使用任务计划定时执行php进行数据库处理
- mysql基础系列2 mysql安装完成以后的任务
- cherrypy + eventlet 完成复杂的异步任务处理
- 面试有感——只为了完成任务很多年以后脑袋里面什么也不会留下
- 使用AlarmManager进行定时任务处理
- Java线程之立刻处理刚完成的任务
- 用Gearman进行分布式任务处理
- mr任务之从多个Hbase表中读取数据进行处理
- CopyU! v2任务处理泵完成
- 有关对耗时很大循环进行并行化优化的探讨之二:多重循环任务的并发处理
- C++中提供了多种基本的数据类型。实际上,这些远不能满足我们的需求,如复数(第10章的例子大多是处理虚数的),再如分数。本任务将设计一个简单的分数类,完成对分数的几个运算。一则巩固基于对象编程的方法,
- window平台下使用任务计划定时执行php进行数据库处理
- 批处理脚本配合windows计划任务自动完成日构建
- vb.net shell线程执行完成后再运行以后处理 函数
- 这两天刚完成的一个任务,使用destoon,进行b2b网站开发
- VC6.0工程属性配置(编译完成后对目标进行处理)
- 图片等比例压缩 ---已经测试 好用----图片加载完成以后再进行缩放
- mr任务之从多个Hbase表中读取数据进行处理