std::promise std::future

从新的线程中返回数据

std::future类模板,对象内部存储一个将来会被赋值的值,通过成员函数get()获取

get()会阻塞,直到对象被赋值

每个promise对象管理一个future对象,promise通过get_future获取其管理的future对象

将promise对象的指针传递给新线程,线程中想要返回一个值,通过promise对象设置future对象

主线程中就可以通过get()函数获取新线程返回的值,如果没有设置就一直阻塞等待,直到成功

注意:通过promise对象只能设置一次值,设置多次就报错

 

posted @ 2021-05-19 17:38  MoonXu  阅读(121)  评论(0编辑  收藏  举报