![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++多线程学习
文章平均质量分 87
ChenEthan_
这个作者很懒,什么都没留下…
展开
-
第三章 线程传参详解,detach()大坑,成员函数做线程函数
1、若传递int这种简单类型参数,建议都是值传递,不要用引用。防止节外生枝。2、如果传递类对象,避免隐式类型转换。全部都在创建线程这一行就构建出临时对象来,然后在函数参数里,用引用来接,否则系统还会构造一次对象,浪费//终极结论:3、建议不使用detach(),只使用join(), 这样就不存在局部变量失效导致线程对内存的非法引用问题。原创 2023-04-16 11:32:15 · 359 阅读 · 0 评论 -
第二章 线程启动、结束、创建线程多方法
传统多线程程序主线程要等待子线程执行完毕,然后自己再最后退出,而detach()打破了这种规则,detach分离的意思,也就是主线统程不和子线程汇合了,你主线程执行你的,我子线程执行我的,你主线程也不必等我子线程运,你可以先执行结束,这并不影响我子线程的执行。为什么引入detach(),我们创建了很多子线线程,让主线程逐个等待子线程结束,这种编程方法不太好,所以引入了detach(),好比之前拓展里的写法,就是主线程逐个等待子线程。1、程序运行起来,生成一个进程,该进程所属的主线程开始自动运行。原创 2023-04-01 18:17:22 · 184 阅读 · 0 评论 -
第一章 C++11 并发与多线程概念
1、线程是用来执行代码的2、把线程这个东西理解成一条代码的执行通路(道路),一个新线程代表一条新的通路3、一个进程自动包含一个主线程,主线程随着进程默默的启动并运行,我们可以通过编码来创建多个其他线程(非主线程),但是创建的数量最大都不建议超过200-300个,至于到底多少个合适,大家在实际的项目中可以不断调整和优化,有的时候线程太多的时候效率反而会降低4、因为主线程是自动启动的,所以一个进程中最少也是有一个线程(主线程),进程和主线程感觉是爹和儿的关系。原创 2023-04-01 14:00:00 · 177 阅读 · 0 评论