まぐらぼ

日々の雑記を書いています。

asyncのローンチポリシー

double square(int i ) {
return i*i; // .. (い)
}
void main5()
{
//ローンチポリシー
//syncはブロック型 実行順序 あ→う→い
//asyncは非ブロック型 実行順序 あ→い→う(あ->いは保証はされていないけどまぁ)
//default(any) 実行順序 あ→い→う

auto fd = async(launch::any, square, 2);
std::this_thread::sleep_for(std::chrono::seconds(1)); // ..(あ)
double d = fd.get(); // (う)
}