为什么会有 promise && future
一个函数在线程A中调用,函数调用的结果希望在线程B中获取,不直接使用锁和条件变量,如何简单的实现?
std::promise 异步传输变量
std::promise提供存储异步通信的值,再通过其对象创建的std::future对象异步获得结果
std::promise 只能使用一次, void set_value(T &&val)设置传递值,只能调用一次 (保证结果单一)
std::future 提供访问异步操作结果的机制
调用get()阻塞等待获取 promise set_value(T &&val))设置的值
代码示例:
void SetResult(std::promise<std::string> pp)
{
std