作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有两个与两个并行执行的计算相对应的 future 。我如何等到第一个 future 准备好?理想情况下,我正在寻找类似于Python asyncio's wait且参数为return_when=FIRST_COMPLETED
的API。
但是,据我所知,当前的C++ std::future
功能似乎不提供这样的API。在这种情况下,我正在寻找一种有效/正确的方法来轮询 future 的状态。
如果 future 不是执行此任务的合适工具,我欢迎使用线程和条件变量的解决方案。
最佳答案
如果您的计算是顺序的(一个依赖于另一个),并且可以访问std::experimental::future
(并且不怕使用“实验性”),则可以使用then
方法std::experimental::future
。
您还可以立即将一个Future作为参数传递给第二个计算。 future::get
是一种等待将来完成的方式。如果您需要将第一个 future 传递到其他地方,请使用std::shared_future
。
关于c++ - 等待第一个将来用C++完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60834280/
我是一名优秀的程序员,十分优秀!