gpt4 book ai didi

c++ - 如何在获得 future 值(value)后重用 boost::promise 对象?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:30:55 25 4
gpt4 key购买 nike

void sss(boost::promise<std::string>& res)
{
res.set_value("hi");
}

void yyy(boost::promise<std::string>& res)
{
res.set_value("hello");
}

int main()
{
boost::thread th;
boost::promise<std::string> a;
th = boost::thread(sss, boost::ref(a));
th.join();
std::cout << a.get_future().get() << std::endl;
th = boost::thread(yyy, boost::ref(a));
th.join();
std::cout << a.get_future().get() << std::endl;
}`

我收到 promise 已经满足的错误。如何复用同一个 Promise 对象?

最佳答案

用未使用的 promise 替换它:

a = boost::promise<std::string>();

关于c++ - 如何在获得 future 值(value)后重用 boost::promise 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27782226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com