C++thread间的交互3(通过代码独立性考虑多线程的优劣)(C++多线程相关)

从代码一部分需要公共用到的东西和一部分可以独立完成的东西可以看出多线程的好处与坏处
以下例子四个线程都会用到globallist
在这里插入图片描述
可以用sleep进行CPU占用率上的优化
在这里插入图片描述
将需要处理的数据单独抽出来变小lock区域也不能解决问题
在这里插入图片描述
在这里插入图片描述
多了一次拷贝,多了一次构造和move还用了原子操作,速度并不能提高
在这里插入图片描述

所以多线程交互最好的方式应该是有数据让多个线程去处理,没有数据就让线程休息,不要用lock不断地加锁解锁

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

猜你喜欢

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