如果第二个异常发生,如何停止第一个未来

问题描述

我有类似的代码:

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)
    {

    }
}

如果在第二个未来中引发异常,则只有在第一个未来完成时,我才会收到该异常。有没有办法打断所有期货?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)