std::async相当のことをBoostで。
こんな感じでした。
#include <iostream> #include <windows.h> #include <boost/thread.hpp> #include <boost/ref.hpp> int foo() { const int sec = 10; ::Sleep(sec * 1000); return 3; } int main() { boost::packaged_task<int> p(&foo); boost::unique_future<int> f(p.get_future()); boost::thread task(boost::ref(p)); std::cout << "hoge" << std::endl; std::cout << f.get() << std::endl; }