2012-11-10 41 views
0

综观提升1.52新boost::async实现我有点不确定它的实现为launch::deferred的boost ::异步 - 不确定实施

else if (int(policy) & int(launch::deferred)) 
{ 
    packaged_task<R> pt(boost::forward<F>(f)); 

    BOOST_THREAD_FUTURE<R> ret = pt.get_future(); 
    return ::boost::move(ret); 
} 

我不太明白这是如何工作的。一旦packaged_task被销毁,这不会总是抛出broken_promise异常吗?

回答