c++11多线程(十七):实战总结
来源:互联网 发布:java大学基础教程 编辑:程序博客网 时间:2024/05/18 14:44
目录:
1.常用基础
2.实战进阶
3.高阶实战
常用基础:
1.条件变量:wait 及 notify 配合使用
wait:让线程空闲
notify:唤醒线程进入工作状态
......
参考:C++11多线程(八):std::condition_variable 详解
2.共享数据处理:让线程处理数据,并且在其他线程能够获取到该结果。
wait:等待时间,时间点,或future状态变化
get:获取future的值
......
参考:C++11多线程(五)-(七):<future>系列详解
实战进阶:
1.std::async
参考之前的文章:http://blog.csdn.net/ceasadan/article/details/50462763std::future 相关的函数:std::async()
子线程异步执行任务,并在其他线程等待子线程变为完成状态,再获取子线程直接结果数据。
2.std::atomic原子:load和store
参考之前的文章:
http://blog.csdn.net/ceasadan/article/details/50467717
http://blog.csdn.net/ceasadan/article/details/50467212
所谓的原子操作,取的就是“原子是最小的、不可分割的最小个体”的意义,它表示在多个线程访问同一个全局资源的时候,能够确保所有其他的线程都不在同一时间内访问相同的资源。也就是他确保了在同一时刻只有唯一的线程对这个资源进行访问。这有点类似互斥对象对共享资源的访问的保护,但是原子操作更加接近底层,因而效率更高。
总之:原子比原来的lock更加实用,效率高得多。
高阶实战:
1.生产者-消费者模型
参考之前的文章:http://blog.csdn.net/ceasadan/article/details/50469647
N个异步生产者,生产数据;N个消费者异步获取结果数据;
2.线程池:处理多任务并发
参考之前的文章:c++11多线程(十八):线程池
- c++11多线程(十七):实战总结
- C语言开发总结(十七)
- C语言开发总结(二十七)
- 重拾java基础(十七):多线程上总结
- C核心技术手册(十七)
- Java多线程实战(设计模式) 读后总结
- 实习总结(十七)---实习总结
- C # 多线程总结
- Cocos2dx 3.0 过渡篇(二十七)C++11多线程std::thread的简单使用(下)
- Cocos2dx 3.0 过渡篇(二十七)C++11多线程std::thread的简单使用(下)
- Cocos2dx 3.0 过渡篇(二十七)C++11多线程std::thread的简单使用(下)
- golang语法总结(十七):函数
- 数据结构(十七)赫夫曼树 树总结回顾
- JAVA学习十七:多线程
- Android实战简易教程<十七>(LayoutAnimation布局动画)
- 《Android源码设计模式解析与实战》读书笔记(十七)
- Flutter实战一Flutter聊天应用(十七)
- C核心技术手册(二十七)
- mysql数据库创建用户名
- 学习 Shell Scripts
- 技术积累目录
- JS中的计时器
- vfs dcache函数
- c++11多线程(十七):实战总结
- spring-mvc
- javascipt模块化编程(速记)
- 4.3. The range() Function(range 函数)
- iOS开发之利用AsyncSocket实现即时通信(一)
- SpringMVC各类jar包使用详解
- 业务降级,系统限流-流量控制与令牌桶算法
- 通过Js来获取所有屏幕分辨率的总结
- 欢迎使用CSDN-markdown编辑器