我创建了一个 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
?
根据文档,它调用的是 等待 - 以便等待结果。根据该描述又说:。
阻止,直到有了结果。
这似乎意味着如果已经有了结果,它就不应该阻塞(即使是短暂的阻塞)。因此,除了一些理智检查、mutex处理或类似的情况外,我认为它应该按照描述立即返回。
你是有实际的问题,还是只是在问?