C++11并发与多线程
本栏为视频学习笔记
TANNNNNIM
这个作者很懒,什么都没留下…
展开
-
C++11并发与多线程(7)单例设计模式共享数据分析、解决、call_once
单例设计模式共享数据分析、解决、call_once(1)设计模式大概谈(2)单例设计模式(3)单例设计模式共享数据问题分析、解决(4)std::call_once() (1)设计模式大概谈 “设计模式”:代码的一些写法(这些写法跟常规写法不一样);程序灵活,维护起来方便,但是别人接管,阅读代码会比较困难 用设计模式理念写出来的代码很晦涩;《head first》 设计之初是为了应付特别大的项目时,把项目的开发经验、模块划分、总结整理成设计模式(先有开发需求,后有理论总结和整理) 设计模式有它独特的优点,但是原创 2020-06-05 20:50:59 · 190 阅读 · 0 评论 -
C++11并发与多线程(6)unique_lock详解
unique_lock详解(1)unique_lock取代lock_guard(2)unique_lock的第二个参数(2.1)std::adopt_lock(2.2) std::try_to_lock(2.3) std::defer_lock(3) unique_lock的成员函数(3.1)lock()(3.2) unlock()(3.3)try_lock()(3.4)release()(4) unique_lock所有权的传递 (1)unique_lock取代lock_guard unique_l原创 2020-05-31 18:07:57 · 384 阅读 · 0 评论 -
C++并发与多线程(5)互斥量概念、用法、死锁演示及解决详解
互斥量概念、用法、死锁演示及解决详解(1)互斥量(mutex)的基本概念(2)互斥量的用法(2.1)lock(),unlock()(2.2)std::lock_guard()(3)死锁(3.1)死锁演示(3.2)死锁的一般解决方案(3.3)std::lock()函数模板(3.4)std::lock_guard的std:adopt_lock参数 保护共享数据,操作时用代码把共享数据锁住,其他像操作共享数据的线程必须等待,等待解锁,锁住,操作,解锁。 (1)互斥量(mutex)的基本概念 互斥量:类对象,理解成原创 2020-05-25 17:14:16 · 295 阅读 · 0 评论 -
C++并发与多线程(4)创建和等待多个线程 数据共享及代码案例
一:创建和等待多个线程 #include <iostream> #include<thread> #include<vector> using namespace std; //线程入口函数 void myprint(int inum) { cout << "myprint线程开始执行了,线程编号" << inum << endl; cout << "myprint线程结束执行了,线程编号" << inum原创 2020-05-25 14:17:26 · 1625 阅读 · 0 评论 -
C++11并发与多线程(3)线程传参详解、detach()大坑、成员函数做线程函数
(1)传递临时对象作为线程参数 (1.1)要避免的陷阱(解释1) #include <iostream> #include <thread> using namespace std; void myPrint(const int &i, char* pmybuf) { //如果线程从主线程detach了 //i不是mvar真正的引用,实际上值传递,即使主线程运行完毕了,子线程用i仍然是安全的,但仍不推荐传递引用 //推荐改为const int i cout <原创 2020-05-24 10:21:49 · 307 阅读 · 0 评论 -
C++11并发与多线程(2)线程启动、结束,创建线程多法、join、detach
二、 线程启动、结束,创建线程多法、join、detach)(1)范例演示线程运行的开始和结束(1.1)thread(1.2)join()(1.3)detach()(1.4)joinable()(2)其他创建线程的手法(2.1)用类,可调用对象,以及一个问题范例(2.2)用lambda表达式(2.3)把某个类中的某个函数作为线程的入口地址 (1)范例演示线程运行的开始和结束 程序运行起来,生成一个进程,该进程所属的主线程开始自动运行实际上这个是主线程执行,主线程从main()函数返回,则整个进程执行完毕原创 2020-05-23 17:26:35 · 204 阅读 · 0 评论 -
C++11并发与多线程(1) 并发基本概念及实现,进程、线程基本概念
C++11并发与多线程(1)一、并发、进程、线程基本概念(1.1)并发(1.2)可执行程序(1.3)进程(1.4)线程(1.5)学习心得二、并发的实现方法(2.1)多进程并发(2.2)多线程并发(2.3)总结三、C++11新标准线程库 一、并发、进程、线程基本概念 (1.1)并发 两个或者更多任务同时进行;一个程序同时执行多个独立的任务; 以往计算机单核cpu:某个时刻只能执行一个任务;由操作系统调度每秒钟进行多次所谓的任务切换,并发的假象(不是真正的并发);这种切换(上下文切换)是要有时间开销的;比如操原创 2020-05-19 11:40:08 · 203 阅读 · 0 评论