#include <iostream>
#include <future>
int main() {
int x = 2;
auto p = [&] { std::cout << "got this far!"; std::cout.flush(); x = 4; };
try {
auto h = std::async(std::launch::async,p);
int j = 0;
for (int i = 0; i < 10000; i++)
if (x == 4) std::cout << "YEAH!";
j++;
}
catch(std::system_error &ex) {
std::cout << ex.code();
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnV0dXJlPgogCmludCBtYWluKCkgewogICAgICAgIGludCB4ID0gMjsKICAgICAgICBhdXRvIHAgPSBbJl0geyBzdGQ6OmNvdXQgPDwgImdvdCB0aGlzIGZhciEiOyBzdGQ6OmNvdXQuZmx1c2goKTsgeCA9IDQ7IH07Cgl0cnkgewoJICAgICAgICBhdXRvIGggPSBzdGQ6OmFzeW5jKHN0ZDo6bGF1bmNoOjphc3luYyxwKTsKCQlpbnQgaiA9IDA7CgkgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTAwMDA7IGkrKykKCQkJaWYgKHggPT0gNCkgc3RkOjpjb3V0IDw8ICJZRUFIISI7CgkJaisrOwoJfQoJY2F0Y2goc3RkOjpzeXN0ZW1fZXJyb3IgJmV4KSB7CgkJc3RkOjpjb3V0IDw8IGV4LmNvZGUoKTsKCX0KCn0=