Запуск асинхронных и синхронных методов одновременно - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь создать схему поставщика и потребителя, где я вызываю 4 одновременных внешних API-интерфейса и добавляю результаты в неблокирующую коллекцию, а также выполняю задачу с интенсивным использованием ЦП, которая просматривает результаты в неблокирующей коллекции, выполняет вычисление по мере поступления каждого результата и переносит результаты в другую коллекцию. Псевдокод:

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

WatchCollectionAndCalculateBatches();

Как запустить синхронный WatchCollectionAndCalculateBatches () одновременно с await Task.WhenAll (задача1, задача2, задача3, задача4), которая является асинхронной?

...