当试图回答另一个Stackoverflow问题时,我意识到这个简单的C++ 11片段隐式阻塞了调用线程:
std::async(std::launch::async, run_async_task)
Run Code Online (Sandbox Code Playgroud)
对我来说,这似乎是规范的C++ 11方式异步启动任务而不关心结果.相反,为了实现这一点,人们必须明确地创建和分离一个线程(参见上述问题的答案).
所以这是我的问题:关于安全性/正确性,是否有任何理由std::future必须阻止析构函数?如果它get仅仅阻止它就不够了,否则,如果我对返回值或异常不感兴趣,它只是火而忘记?