gpt4 book ai didi

c++ - 如果在promise.set_value()之后调用future.get()会发生什么?

转载 作者:行者123 更新时间:2023-12-02 10:01:38 26 4
gpt4 key购买 nike

我创建一个 promise 和 future 的对象:

Promise<int> p = promise<int>(); 
Future<int> f = p.get_future();

我将promise传递给了后台线程,该线程最终调用了 p.set_value(myInt)

在主线程中,我称为 f.get()

如果在调用 f.get()之后将 p.set_value(myInt)称为 怎么办?
f.get()会立即返回myInt吗?

最佳答案

根据文档,它调用wait-以等待结果。依次根据该描述指出:

Blocks until the result becomes available.



这似乎意味着如果已经有结果,则不应阻塞(即使很短时间)。因此,除了一些健全性检查,互斥量处理之类的措施之外,我认为它会按照说明立即返回。

您是否有实际问题或只是问什么?

关于c++ - 如果在promise.set_value()之后调用future.get()会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62298948/

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