是什么给了 std::future 一些共享状态

What gives a std::future some shared state

本文关键字:共享 状态 future std 是什么      更新时间:2023-10-16

std::future有一个std::future::valid方法,它指示未来对象是否引用某个共享状态。没有任何构造函数构造引用共享状态的未来对象(移动构造函数除外,它可以将共享状态从一个未来对象移动到另一个未来对象)。类的所有方法(getwaitwait_forwait_until都要求未来对象具有共享状态作为前提条件(如果valid() == false,它们具有未定义的行为)。那么,std::future如何获得某种共享状态并变得有用呢?

您通常不会孤立地使用std::future;您可以将其与std::promise一起使用。构造std::promise设置了一些共享状态。然后,可以使用std::promise::get_future()方法获取引用该共享状态std::future