boost :: async-不确定实现

boost::async - unsure about the implementation

本文关键字:实现 不确定 async- boost      更新时间:2023-10-16

查看Boost 1.52中的新boost::async实现,我不确定它的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);
}

我不太了解这是如何工作的。一旦packaged_task被销毁,这不会总是抛出broken_promise例外吗?

该文档说它是"未实现的"。

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