错误使用std :: future?

时间:2012-08-30 20:34:30

标签: c++ c++11 valgrind race-condition future

我已将我的一个错误钉在这个小片段上,但我不明白为什么它不起作用。

#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的单独文件中。

任何人都可以告诉我这里我做错了什么?

1 个答案:

答案 0 :(得分:4)

代码是正确的,所以如果存在竞争条件,那么它就是future或其同伴的实现。