这篇文章主要讲解了“怎么用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++动态生成多个线程并修改线程外部变量这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://blog.51cto.com/u_15826192/5750195