Смешивание параллелизма :: parallel_for и асинхронной задачи

Это нормально для создания задач с parallel_for?

concurrency::concurrent_vector<concurrency::task<void>> tasks;
concurrency::parallel_for(0, length, [tasks](int i) {
tasks.push_back(Upload_Async(i));
});
concurrency::when_all(tasks.begin(), tasks.end()).wait();

0

Решение

Если Upload_Async действительно асинхронный, тогда он просто запускает задачу и возвращает ее, сам по себе не выполняет никакой работы. Это означает, что с помощью parallel_for здесь нет никакого смысла, это не ускорит ваш код, это только увеличивает накладные расходы.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector