【发布时间】:2017-05-10 17:35:57
【问题描述】:
我对 c# 中的并发有疑问。我有 3 个任务 A、B、C,我正在使用
等待task.WhenAll(A,B,C) 并行运行它们,然后像这样使用它们的结果:
var aresult = A.Result;
var bresult = B.Result;
var cResult = C.Result;
最近我需要添加一个使用 cResults 的实用程序函数并返回如下值:(此函数不是异步方法)
var sortedResult = SortResult(cResult);
我知道任务 A 和 B 比任务 C 花费更长的时间,并且希望优化流程并让任务(A 和 B)和(C 和 sortedResults(cResults))并行运行,这样我使用 A 和 B 处理 C 和 sortedResults(cResult) 所需的相同时间。我该怎么做?
抱歉,帖子太长了,感谢您的帮助。
【问题讨论】:
标签: c# asynchronous concurrency task-parallel-library