0

查看boost::asyncboost 1.52 中的新实现,我有点不确定它的实现launch::deferred

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);
}

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

4

1 回答 1

1

该文件称它“未实施”。

http://www.boost.org/doc/libs/1_52_0/doc/html/thread/synchronization.html#thread.synchronization.futures.reference.async

于 2012-11-11T03:42:21.007 回答