std::promise std::future

从新的线程中返回数据

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/xpylovely/p/14786111.html