gpt4 book ai didi

c++ - 获取 std::future::wait_for 的运行时间

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:14:31 26 4
gpt4 key购买 nike

有没有一种简单的方法来获取 std::future<T>::wait_for 期间耗时?如果没有超时发生?我想实现这样的目标:

std::future<void> futureRet = std::async(std::launch::async, &Someone::doSomething, this);
futureRet.wait_for(std::chrono::seconds(30));

cout << "doSomething returned after <" << futureRet.getElapsedTime() << "> seconds.";

是否有一种“getElapsedTime()”函数,还是我必须自己计算耗时?

最佳答案

有一个简单的方法使用 <chrono> :

auto start = std::chrono::steady_clock::now();
std::future<void> futureRet = std::async(std::launch::async, &Someone::doSomething, this);
futureRet.wait_for(std::chrono::seconds(30));
auto end = std::chrono::steady_clock::now();
std::chrono::duration<double> elapsed_seconds = end - start;
cout << "doSomething returned after <" << elapsed_seconds.count() << "> seconds.";

关于c++ - 获取 std::future<T>::wait_for 的运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49731011/

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