4.6 Future 与 Promise 4. 并发与多线程编程 ... (省略 4.1 - 4.5 内容) 4.6 Future 与 Promise 在C++的并发编程中,线程之间经常需要交换数据。尤其是一个线程执行某个计算任务,并将结果返回给另一个线程(通常是创建它的线程)。传统的做法可能涉及共享变量、互斥锁和条件变量,但这对于仅仅传递一个结果的场景来说,会显得过于复杂和繁琐。C++11引入的 和 提供了一种更简洁、更高级的机制来解决这个问题:它们允许一个线程异步地向另一个线程发送一个值(或一个异常),而接收线程可以通过一个同步点来获取这个值。 本质上, 代表了一个承诺:它承诺将来会提供一个值。而 则代表了这个承诺的结果:它是一个结果的占位符,你可以在将来某个时候从中获取这个值。