我对此事既没有直接证实也没有反驳。所有答案似乎都针对“从多个线程进行访问”方面,而不是重复的访问本身。
该标准是否定义了行为std::shared_future?那boost::shared_future呢
Nat*_*ica 12
每个cppreference中 std::shared_future<T>::valid
与std :: future不同,调用get()时std :: shared_future的共享状态不会无效。
有道理。如果不是这种情况,那么您将不能有多个线程可以调用get。我们可以通过查看标准来进一步支持这一点。在[futures.unique.future] / 15中,他们明确声明get仅在
释放任何共享状态([futures.state])。
而在[futures.shared.future] / 18中,它没有声明任何东西,因此在get调用之后状态仍然有效。
boost::shared_future具有相同的行为。每个引用 get都没有文字说明它使对的共享状态无效,get因此您可以多次调用它。
| 归档时间: |
|
| 查看次数: |
219 次 |
| 最近记录: |