16.5.4  模板类shared_future

16.5.4 模板类 shared_ future

shared_future模板类定义了一种异步返回对象的类型。该类型可以和其他异步返回对象共享其状态。该类和future模板类很相似。shared_future类型对象可以从future类型对象转换而来,也可以使用share()函数获取。但是,future类型对象转换为shared_future类型对象之后,其自身即变为无效。

shared_future类型比future类型更优越,一旦其共享状态变为ready,其值可以返回多次,即可以多次使用get()函数获取其内存储的数值。因此,在调用get()函数之后,其状态仍然有效,其所有权仍然有效。例16-21之外的使用方法参见例16-20。

例16-21

978-7-111-51399-5-Chapter16-99.jpg

978-7-111-51399-5-Chapter16-100.jpg

例16-21的执行效果如图16-22所示。

978-7-111-51399-5-Chapter16-101.jpg

图16-22 例16-21的执行效果