std::future::wait(3)
πΈ NAME πΈ
std::future::wait β the C++ Standard Library member function std::future::wait(3) that literally just waits. No cap, that's the whole name. π
β¨ Synopsis β¨
void wait() const; (since C++11)
Blocks until the result becomes available. After the call, valid() == true. π«Ά
β οΈ The behavior is undefined ifvalid() == falsebefore the call to this function. So please, bestie, vibe-check your future first.valid()is not a suggestion. π
π§Έ Parameters π§Έ
(none)
π Return value π
(none)
π Exceptions π
May throw implementation-defined exceptions.
π§ Notes π§
Implementations are encouraged to detect the case when valid() == false before the call and throw a std::future_error with an error condition of std::future_errc::no_state. π¨
π Example π
// Run this code
#include <chrono>
#include <future>
#include <iostream>
#include <thread>
int fib(int n)
{
if (n < 3)
return 1;
else
return fib(n - 1) + fib(n - 2);
}
int main()
{
std::future<int> f1 = std::async(std::launch::async, []() { return
fib(40); });
std::future<int> f2 = std::async(std::launch::async, []() { return
fib(43); });
std::cout << "waiting... " << std::flush;
const auto start = std::chrono::system_clock::now();
f1.wait();
f2.wait();
const auto diff = std::chrono::system_clock::now() - start;
std::cout << std::chrono::duration<double>(diff).count() << "
seconds\n";
std::cout << "f1: " << f1.get() << '\n';
std::cout << "f2: " << f2.get() << '\n';
}
π Possible output π
waiting... 1.61803 seconds
f1: 102334155
f2: 433494437
π See also π
wait_forβ waits for the result, returns if it is not available for the specified timeout duration (public member function)wait_untilβ waits for the result, returns if it is not available until specified time point has been reached (public member function)
That's the whole page, bestie: source http://cppreference.com, version/date 2024.06.10, and the manual page energy is std::future::wait(3). πβ¨
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms