- C++线程
- 主线程
- join
#include
但是, 如果提示说: 找不到
主线程
我们平时接触最多的: 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主线程里.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)