这篇文章主要讲解了“怎么用C++动态生成多个线程并修改线程外部变量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C++动态生成多个线程并修改线程外部变量”吧!
代码如下:
void func1() {
cout << "==线程外部函数输出的消息==" << endl;
}
int val = 10;
//动态生成多个线程
for (int i = 0; i < 5; i++)
{
cout << "循环索引:"<<i << endl;
//线程实例,val为捕获的外部变量,直接val不可修改,加上&地址符号后&val这样可修改val值
thread t = thread([i,&val,&t]() {
cout << "线程ID:" << t.get_id() << endl;
func1();//调用线程外部函数
val += 5;//改变线程外部变量值
cout <<"val初始线程:"<<t.get_id()<<"改变值后为:"<< val << endl;
});
t.join();
}
感谢各位的阅读,以上就是“怎么用C++动态生成多个线程并修改线程外部变量”的内容了,经过本文的学习后,相信大家对怎么用C++动态生成多个线程并修改线程外部变量这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是天达云,小编将为大家推送更多相关知识点的文章,欢迎关注!