前言
前一篇文章讲到了关于condition_variable
的使用,但是这种方法太过于底层了,不是很方面,而且需要对调用方进行操作。这样对于程序员来说太过于麻烦,引入一个全新的接口,让被调用的线程自动进行,调用线程直接调用结果就行。这就是C++引入的future()类
,而且这种方式可以在不同线程之间传递数据。
我们首先假设情况现在有两个线程,线程A等待线程B执行结果,线程B执行完成之后将结果返回给线程A。之前在condition_variable
里面是在线程外定义一个全局变量,但是这样会导致数据不安全有泄露的风险。
future
首先看一个例子:
string fun_1() {
return "123";
}
int main()