我一直在试验std:线程。我使用二进制表达式树作为标准算术操作。我正在创建一个线程来执行计算,并希望检查是否除以零。使用std::async启动线程时,将从工作线程抛出异常,并在主线程中捕获异常。当我用std::线程启动线程时,当抛出异常时,我会得到一个运行时错误abort()。对于它为什么与std::async but notstd::线程一起工作,有任何见解吗?
我读了一篇关于用c++ ()进行并发编程的文章。在本文中,作者展示了一个代码,其中std::异步使用相同的线程运行两个函数。此外,当他使用std::future with std::异步时,它再次以不同的方式运行,并使用独立的线程运行所有函数。为什么异步的行为是那样的,而且它有这种不受控制的方式?另外,如何用这个特性开发一个真正