future promise shared_future简单使用
#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简单使用相关推荐
- C++11 并发指南四(future 详解三 std::future std::shared_future)
上一讲<C++11 并发指南四(<future> 详解二 std::packaged_task 介绍)>主要介绍了 <future> 头文件中的 std::pack ...
- rust异步编程--理解并发/多线程/回调/异步/future/promise/async/await/tokio
1. 异步编程简介 通常我们将消息通信分成同步和异步两种: 同步就是消息的发送方要等待消息返回才能继续处理其它事情 异步就是消息的发送方不需要等待消息返回就可以处理其它事情 很显然异步允许我们同时做更 ...
- folly教程系列之:future/promise
attension:本文严禁转载. 一.前言 promise/future是一个非常重要的异步编程模型,它可以让我们摆脱传统的回调陷阱,从而使用更加优雅.清晰的方式进行异步编程.c++11中 ...
- 【转】现代c++开发利器folly教程系列之:future/promise
一.前言 promise/future是一个非常重要的异步编程模型,它可以让我们摆脱传统的回调陷阱,从而使用更加优雅.清晰的方式进行异步编程.c++11中已经开始支持std::future/std:: ...
- future promise java_Future与Promise
https://code.csdn.NET/DOC_Scala/chinese_scala_offical_document/file/Futures-and-Promises-cn.md#ancho ...
- C++异步调用利器future/promise实现原理
前言 在异步编程中,各种回调将让人眼花缭乱,代码分散,维护起来十分困难.boost和C++11 的 future/promise 提供了一个很好的解决方案,使得代码更加漂亮.易维护. 在工作中,我也用 ...
- C++ 并发指南< future >(3)std::future std::shared_future
std::future介绍 简单地说,std::future 可以用来获取异步任务的结果,因此可以把它当成一种简单的线程间同步的手段. std::future 通常由某个 Provider 创建,你可 ...
- c++11 future promise
std::future std::future 代表未来得到,可以使用std::async 来执行 std::async 为异步编程的高级封装,封装了std::future的操作,基本上可以代替std ...
- C++11多线程---future、shared_future、atomic
目录 一.std::future的其他成员函数 二.std::shared_future 三.原子操作std::atmic 在上篇:C++11多线程---async.future.package_ta ...
最新文章
- ios签名软件_如何给无法上架App Store的App做ios签名?
- 解决centos下tomcat启动太慢 JDBC连接oracle太慢的问题
- 12、Grafan 4.3升级到Grafana 5.0
- Extjs4 tab添加右键刷新功能
- 学习Git_12.10
- 浅谈SAP CRM开发——技术概念、与ECC 系列产品区别
- C++中的空类,默认产生哪些类成员函数?
- 有缘网分布式爬虫案例
- Codility:Titanium 2016 challenge:BracketsRotation
- mysqlbinlog unknown variable:default-character-set=gbk
- python骗局-python 无良培训忽悠骗局知多少?
- 关于winfrom中如何快速导出DataGridView数据到excel中的问题
- svn 服务端与客户端安装教程 windows
- ESP分区引导文件修复bcdboot .exe
- http://www.qiantu.org/index.php?p=403#comments
- 你是哪一型---左右脑性格测试(转)
- Uos统信系统 SSH
- 大数据测试是什么意思?测试分析方法有哪些?
- 身份证的行政区划代码
- 使用微信支付接口生成支付二维码
热门文章
- Spark(二): 内存管理
- jquery选择器《-》
- 正则表达式验证密码强度
- Jquery getJSON方法分析(二)
- 2021吉林高考26日几点可以查询成绩,2021吉林高考成绩查分时间及入口
- JQuery调用iframe子页面函数/对象的方法
- servlet3.0异步处理
- pytorch 图像分割的交并比_Segmentation101系列-最简单的卷积网络语义分割(1)-PASCAL VOC图像分割...
- python单词反转_python文本 字符串逐字符反转以及逐单词反转
- [转载] Java Formatter toString()方法与示例