std::future<T>::wait
提供: cppreference.com
void wait() const; |
(C++11以上) | |
結果が利用可能になるまでブロックします。 呼び出し後 valid() == true になります。
この関数を呼ぶ前に valid()== false であった場合、動作は未定義です。
引数
(なし)
戻り値
(なし)
例外
(なし)
ノート
処理系は呼び出し前に valid == false であった場合を検出し、エラーコンディション std::future_errc::no_state を持つ std::future_error を投げることが推奨されます。
例
Run this code
#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::future<int> f1 = std::async(std::launch::async, [](){
return fib(20);
});
std::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';
}
出力:
waiting...
f1: 6765
f2: 75025
関連項目
| 結果を待ちます。 指定されたタイムアウト期間が満了するまで利用可能にならなければリターンします (パブリックメンバ関数) | |
| 結果を待ちます。 指定時刻に達するまで利用可能にならなければリターンします (パブリックメンバ関数) |