混合并发:: parallel_for和async任务

Mixing concurrency::parallel_for and async task

本文关键字:async for 任务 并发 parallel 混合      更新时间:2023-10-16

使用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();

如果 Upload_Async确实是异步的,那么它只是启动任务并返回它,它不会执行任何工作本身。这意味着在此处使用parallel_for没有任何意义,它不会加快您的代码,而只会添加开销。