我创建一个承诺和未来的对象:
Promise<int> p = promise<int>();
Future<int> f = p.get_future();
我将诺言传递给了最终调用的后台线程p.set_value(myInt)
。
在主线程中,我叫f.get()
。
如果f.get()
被称为后该 p.set_value(myInt)
怎么办?
会f.get()
马上回来myInt
吗?
根据文档,它称等待-为了等待结果。依次根据该描述指出:
阻塞直到结果可用。
这似乎意味着如果已经有结果,则不应阻塞(即使很短时间)。因此,除了一些健全性检查,互斥量处理之类的措施之外,我认为它会按照说明立即返回。
您是否有实际问题或只是问什么?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句