栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

c++ thread线程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++ thread线程

catalog
  • C++线程
    • 主线程
    • join

C++线程

#include 然后通过 ::std::thread th; 可以创建一个线程

但是, 如果提示说: 找不到文件, 参考: 添加链接描述


主线程

我们平时接触最多的: main函数; 他就是一个 主线程.
主线程的结束, 就意味着: 你的exe进程的结束.

void th_func(){
	111
	222
	333
}

main(){
	aaa
	
	thread th( th_func);  ' 创建线程, 并且开启线程执行 '

	bbb
}

(主线程): aaa, 开启一个线程, bbb
(子线程): 111 222 333

注意, 所有的线程, 是并发的在进行

上述代码的 执行, 可能是: aaa 111 bbb (到了bbb, 意味着: 主线程的结束, 即exe进程的结束)

但是问题是: 此时, 子线程 还在执行!!! 你的子线程, 肯定是要依赖 exe进程的; 而你的进程, 已经结束了!!!....
这个原理, 就和 内存泄漏一样.

所以, 这个代码 是会报错的!!!


即默认情况下:

--------------------->   主线程
	--------------------------> 子线程

两者互不干扰!!!
但是: 虽然两者互不联系, 但是, 主线程一旦结束 exe就结束了; 而, 子线程 是需要这个exe进程环境的


join

为了防止以上的情况, 即避免: exe结束了, 而子线程还在运行, 引入join

join, 顾名思义, 即 加入. 将子线程 加入到 main主线程里.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684908.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号