タイムアウトを設定し、関数を実行する (C++)
void f() {
auto self(enable_shared_from_this());
std::future<int> future = std::async(std::launch::async, [self]() { return g(); });
std::future_status status;
status = future.wait_for(std::chrono::milliseconds(1000));
if (status == std::future_status::timeout) {
//
} else if (status == std::future_statues::ready) {
//
}
}