2012-11-10 70 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異常嗎?

回答