C++当线程间需要共享非const资源(问题引出)(C++多线程相关)

可以通过不共享变量的方式来解决多线程共享变量造成信息不一致问题在这里插入图片描述
所以如果没有必要的话,线程间不要共享资源

线程传入参数可以通过lambda函数传入也可以直接在函数后加参数方式传入,但函数后加参数方式默认都是值拷贝形式传入的,可以用std::ref引用传入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但有的时候必须共享非const的资源
如以下例子需要通过conter2计算来让循环终止,conster2的计算又是通过多个线程分别计算来获得的,此时就会造成printStep循环永远结束不了的情况,因为多线程计数会出现减少的情况。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200112161141743.png在这里插入图片描述在这里插入图片描述

发布了137 篇原创文章 · 获赞 33 · 访问量 1607

猜你喜欢

转载自blog.csdn.net/qq_39885372/article/details/103946675