我有一个像这样的代码:
std::vector<std::future<..>> futures;
for(...)
{
futures.emplace_back(std::async(std::launch::async, ...))
}
for (auto& future : futures)
{
try
{
result += future.get();
}
catch (std::exception const& e)
{
}
}
如果在第二个未来抛出异常,我只会在第一个未来完成时收到它。有没有办法中断所有的期货?