c# – 如何使用异步方法正确编写Parallel.For
发布时间:2020-12-16 01:21:48 所属栏目:百科 来源:网络整理
导读:我将如何构造下面的代码,以便调用异步方法? Parallel.For(0,elevations.Count(),delegate(int i){ allSheets.AddRange(await BuildSheetsAsync(userID,elevations[i],includeLabels));}); 解决方法 Parallel.For()与异步方法不兼容.如果您不需要限制并行度(
我将如何构造下面的代码,以便调用异步方法?
Parallel.For(0,elevations.Count(),delegate(int i) { allSheets.AddRange(await BuildSheetsAsync(userID,elevations[i],includeLabels)); }); 解决方法
Parallel.For()与异步方法不兼容.如果您不需要限制并行度(即,您可以同时执行所有任务),则只需启动所有任务,然后等待它们完成:
var tasks = Enumerable.Range(0,elevations.Count()) .Select(i => BuildSheetsAsync(userID,includeLabels)); List<Bitmap> allSheets = (await Task.WhenAll(tasks)).SelectMany(x => x).ToList(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- grep -- 一个正则表达式的执行者
- PKHUD一款Swift提示框
- c# – 在预定义的时间有效运行数十万个函数
- ruby-on-rails – Mongoid使用has_one将一个对象与同一个类
- ReactJS:在React中,不变性助手的真实世界使用是什么?
- ruby-on-rails – 如何在Rails应用程序中创建“导游”?
- 正则表达式总结(\nml,\nm,\un,\xn/i等等
- swift – 如何将类型应用到NSFetchRequest实例?
- raspberry-pi3 – Phonetisaurus依赖问题
- ios – 我的基于CoreLocation的Swift应用程序不会要求用户访