我已将我的一个错误钉在这个小片段上,但我不明白为什么它不起作用。
#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的单独文件中。
任何人都可以告诉我这里我做错了什么?
答案 0 :(得分:4)
代码是正确的,所以如果存在竞争条件,那么它就是future
或其同伴的实现。