Насколько мне известно, единственный способ сделать это - использовать thread
* семантика перемещения :
boost::thread t; // Will be initialized to `Not-a-Thread`.
// Later...
t = boost::thread(your_callable);
// Now `your_callable()` runs inside a new thread that has been moved to `t`.
РЕДАКТИРОВАТЬ: Из ошибкисообщения, которые вы опубликовали, кажется, что вы не можете использовать семантику перемещения с вашей версией Boost.Если это так, боюсь, вы не сможете инициализировать экземпляр thread
и запустить его позже.