#include
#include
#include

/furture 和promi******************/
int display(const int& value) {
return 10 + value;
}

//不能传引用,是简单的值拷贝

int display1(std::shared_future f) {
//地方会一直等待,阻塞状态,由其它线程传入值
int value = f.get();
return value;
}

//不能传引用,是简单的值拷贝
int display2(std::shared_future f) {
//地方会一直等待,阻塞状态,由其它线程传入值
int value = f.get();
return value;

}

int main()
{
std::cout << “11” << std::endl;
int value = 10;
//取决运行环境
std::futurefu = std::async(std::launch::async | std::launch::deferred, display, std::ref(value));
int value1 = fu.get();
std::cout << value1 << std::endl;
//定义一个promise的变量
std::promisepromise;
//传递下一个线程
promise.set_value(10);
//std::future fu11 = promise.get_future();
//共享furture,所有线程都可以用
std::futurefu11 = promise.get_future();
std::shared_futureshared_futrue = fu11.share();
//std::launch::async create thread
//std::launch::deferred
std::futurefu1 = std::async(std::launch::async | std::launch::deferred, display1, shared_futrue);
std::futurefu2 = std::async(std::launch::async | std::launch::deferred, display2, shared_futrue);
int value11 = fu1.get();
int value22 = fu2.get();
//std::thread t(display1, std::ref(fu11));
}

future promise shared_future简单使用相关推荐

  1. C++11 并发指南四(future 详解三 std::future std::shared_future)

    上一讲<C++11 并发指南四(<future> 详解二 std::packaged_task 介绍)>主要介绍了 <future> 头文件中的 std::pack ...

  2. rust异步编程--理解并发/多线程/回调/异步/future/promise/async/await/tokio

    1. 异步编程简介 通常我们将消息通信分成同步和异步两种: 同步就是消息的发送方要等待消息返回才能继续处理其它事情 异步就是消息的发送方不需要等待消息返回就可以处理其它事情 很显然异步允许我们同时做更 ...

  3. folly教程系列之:future/promise

         attension:本文严禁转载. 一.前言 promise/future是一个非常重要的异步编程模型,它可以让我们摆脱传统的回调陷阱,从而使用更加优雅.清晰的方式进行异步编程.c++11中 ...

  4. 【转】现代c++开发利器folly教程系列之:future/promise

    一.前言 promise/future是一个非常重要的异步编程模型,它可以让我们摆脱传统的回调陷阱,从而使用更加优雅.清晰的方式进行异步编程.c++11中已经开始支持std::future/std:: ...

  5. future promise java_Future与Promise

    https://code.csdn.NET/DOC_Scala/chinese_scala_offical_document/file/Futures-and-Promises-cn.md#ancho ...

  6. C++异步调用利器future/promise实现原理

    前言 在异步编程中,各种回调将让人眼花缭乱,代码分散,维护起来十分困难.boost和C++11 的 future/promise 提供了一个很好的解决方案,使得代码更加漂亮.易维护. 在工作中,我也用 ...

  7. C++ 并发指南< future >(3)std::future std::shared_future

    std::future介绍 简单地说,std::future 可以用来获取异步任务的结果,因此可以把它当成一种简单的线程间同步的手段. std::future 通常由某个 Provider 创建,你可 ...

  8. c++11 future promise

    std::future std::future 代表未来得到,可以使用std::async 来执行 std::async 为异步编程的高级封装,封装了std::future的操作,基本上可以代替std ...

  9. C++11多线程---future、shared_future、atomic

    目录 一.std::future的其他成员函数 二.std::shared_future 三.原子操作std::atmic 在上篇:C++11多线程---async.future.package_ta ...

最新文章

  1. ios签名软件_如何给无法上架App Store的App做ios签名?
  2. 解决centos下tomcat启动太慢 JDBC连接oracle太慢的问题
  3. 12、Grafan 4.3升级到Grafana 5.0
  4. Extjs4 tab添加右键刷新功能
  5. 学习Git_12.10
  6. 浅谈SAP CRM开发——技术概念、与ECC 系列产品区别
  7. C++中的空类,默认产生哪些类成员函数?
  8. 有缘网分布式爬虫案例
  9. Codility:Titanium 2016 challenge:BracketsRotation
  10. mysqlbinlog unknown variable:default-character-set=gbk
  11. python骗局-python 无良培训忽悠骗局知多少?
  12. 关于winfrom中如何快速导出DataGridView数据到excel中的问题
  13. svn 服务端与客户端安装教程 windows
  14. ESP分区引导文件修复bcdboot .exe
  15. http://www.qiantu.org/index.php?p=403#comments
  16. 你是哪一型---左右脑性格测试(转)
  17. Uos统信系统 SSH
  18. 大数据测试是什么意思?测试分析方法有哪些?
  19. 身份证的行政区划代码
  20. 使用微信支付接口生成支付二维码

热门文章

  1. Spark(二): 内存管理
  2. jquery选择器《-》
  3. 正则表达式验证密码强度
  4. Jquery getJSON方法分析(二)
  5. 2021吉林高考26日几点可以查询成绩,2021吉林高考成绩查分时间及入口
  6. JQuery调用iframe子页面函数/对象的方法
  7. servlet3.0异步处理
  8. pytorch 图像分割的交并比_Segmentation101系列-最简单的卷积网络语义分割(1)-PASCAL VOC图像分割...
  9. python单词反转_python文本 字符串逐字符反转以及逐单词反转
  10. [转载] Java Formatter toString()方法与示例