(本文并不保证代码和语言的严谨性,主要为了介绍什么是多线程)
多线程:我们打开的QQ、浏览器、文件夹可以理解成打开了一个进程,进程里有一个主线程,到但是除了主线程外,为了让程序更好的运行,我们会在进程里创建很多线程,这就是多线程。
举例如下:
void fun(int x) {//这是一个普通的函数
for (int i = 0; i < 1000; i++) {
cout << "-----子线程的输出";
}
};
int main()
{
thread t(fun, 5);//把函数fun()和fun()的参数5,一起传到线程里
//t.join();//主线程等待t线程跑完,再继续跑;
t.detach();//主线程不管t了,让两个线程同时运行
for (int i = 0; i < 1000; i++) {
cout << "+++++主线程的输出";
}
//命令行的输出结果是 "+++++主线程的输出"和"-----子线程的输出",两句话交替展示且交换的次数随机。
//因为主线程和t线程同时运行向输出框输出文字,所以输出框展示的数据就无规律
}