std::shared_future::wait

From cppreference.com

void wait() const;

Blocks until the result becomes available. valid() == true after the call.

Contents

[edit] Parameters

(none)

[edit] Return value

(none)

[edit] Exceptions

(none)

[edit] Example

#include <iostream>
#include <future>
#include <thread>
 
int fib(int n)
{
  if (n < 3) return 1;
  else return fib(n-1) + fib(n-2);
}
 
int main()
{
    std::shared_future<int> f1 = std::async(std::launch::async, [](){
        return fib(20);
    });
    std::shared_future<int> f2 = std::async(std::launch::async, [](){
        return fib(25);
    });                                                                                                                                                                                                     
 
    std::cout << "waiting...\n";
    f1.wait();
    f2.wait();
 
    std::cout << "f1: " << f1.get() << '\n';
    std::cout << "f2: " << f2.get() << '\n';
}

Output:

waiting...
f1: 6765
f2: 75025

[edit] See also

waits for the result, returns if it is not available for the specified timeout duration
(public member function)
waits for the result, returns if it is not available until specified time point has been reached
(public member function)