C++并发编程之多线程基础
[TOC]
概述
文章参考:http://shouce.jb51.net/cpp_concurrency_in_action/
多线程并发即多个线程同时执行,一般而言,多线程并发就是把一个任务拆分为多个子任务,然后交由不同线程处理不同子任务,使得这多个子任务同时执行
实现C++多线程并发程序的思路如下:将任务的不同功能交由多个函数分别实现,创建多个线程,每个线程执行一个函数,一个任务就这样同时分由不同线程执行了。
什么时候不适用多线程并发
- 每创建一个线程,系统要分配给线程相应的栈空间,用于保存上下文信息.
- 如果线程执行过快导致上下文切换频繁,这将导致收益比不上成本
基础知识
创建线程
std::ref和std::cref /std::bind
- std::ref 用于包装按引用传递的值
- std::cref 用于包装按const引用传递的值
使用方法
1 | //创建线程 |
创建线程时的传参问题分析
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦溪·在路上!
评论
ValineDisqus