同时运行异步和同步方法

时间:2018-09-10 01:14:24

标签: c# asynchronous task-parallel-library

我正在尝试实现一种供应商和消费者模式,其中我要并行调用4个同时的外部API,并将结果添加到一个非阻塞集合中,并运行一个CPU密集型任务,监视非阻塞集合中的结果,在每个结果输入时进行计算,并将结果移至另一个集合。伪代码:

Task task1 = CallApiAndMoveToCollectionResult1();
Task task2 = CallApiAndMoveToCollectionResult1();
Task task3 = CallApiAndMoveToCollectionResult1();
Task task4 = CallApiAndMoveToCollectionResult1();
await Task.WhenAll(task1,task2,task3,task4);

WatchCollectionAndCalculateBatches();

如何在同时运行同步WatchCollectionAndCalculateBatches() 等待Task.WhenAll(task1,task2,task3,task4)是异步的吗?

0 个答案:

没有答案