我正在启动几个异步任务,如下所示:
for(UINT Id: myIds)
{
std::async([=]
{
DoSomeStuffUsingId(Id);
return true;
});
}
我有一个功能需要知道所有这些任务是否已完成:
void SomeFunction()
{
if (all async tasks have completed)
{
do something else
}
}
我知道我可以像这样等待异步任务:
std::future<bool> fut = std::async (do something);
fut.wait();
我从这个链接中看到Waiting for multiple futures? 还没有等待多个期货。
有什么技巧可以用来查看我的所有任务是否已完成?
我可以将每个未来存储在一个数组或向量中并依次等待每个未来吗?