gpt4 book ai didi

c++ - 等待第一个将来用C++完成

转载 作者:行者123 更新时间:2023-12-02 10:19:33 29 4
gpt4 key购买 nike

假设我有两个与两个并行执行的计算相对应的 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/

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