Thead Study
1.Thead线程库的基本使用
区分线程和进程:什么是进程,进程是运行中的程序,线程可以理解是进程中的进程
单线程程序是串性的,从上往下依次执行。而多线程程序是并行的,可以提高程序的运行效率,线程的最大数量取决于cpu的核心数。
创建线程
一个最基本的线程创建的方法:
1 |
|
运行时发现报错了,这是因为主线程执行结束退出了,而我们创建的线程却还在运行,此时程序会报错;
等待线程完成
join()可以用来等待线程执行完毕,主程序不会立即退出,会检查其他线程是否执行了return,如果未执行,则会等待;
换句话说join阻塞了main()函数执行;
当我们加上这一句后再运行程序,报错消失了;
1 |
|
线程传参
给线程传递参数时需要在线程创建时就为其添加参数;
1 |
|
else
detach()可以让主线程正常退出不报错,运行完main()之后销毁thread1;
1 |
|
joinable(),detachable()都是检查函数是否可以开启进程的方法,返回bool值
1 |
|
2.线程函数中的数据未定义错误
传递临时变量
Thead Study
http://example.com/2024/03/18/Thead-Study/