我已经将我的一个错误归结为这个小片段,但我不明白为什么它不起作用。
#include <future>
int main()
{
int ret = 0;
std::future<int> parseSentence = std::async(std::launch::async, []() { return 3;} );
ret = parseSentence.get();
return ret;
}
代码有效,但 helgrind 发现出现了竞争条件。由于日志有点长,我把它放在一个单独的文件中,可以找到here .
谁能告诉我我做错了什么?
最佳答案
代码是正确的,所以如果存在竞争条件,它会出现在 future
或其同伴的实现中。
关于c++ - std::future 的错误用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205031/