从代码一部分需要公共用到的东西和一部分可以独立完成的东西可以看出多线程的好处与坏处
以下例子四个线程都会用到globallist
C++thread的间的交互3(通过代码独立性考虑多线程的优劣)(C++多线程相关)
可以用sleep进行CPU占用率上的优化
C++thread的间的交互3(通过代码独立性考虑多线程的优劣)(C++多线程相关)
将需要处理的数据单独抽出来变小lock区域也不能解决问题
C++thread的间的交互3(通过代码独立性考虑多线程的优劣)(C++多线程相关)
C++thread的间的交互3(通过代码独立性考虑多线程的优劣)(C++多线程相关)
多了一次拷贝,多了一次构造和move还用了原子操作,速度并不能提高
C++thread的间的交互3(通过代码独立性考虑多线程的优劣)(C++多线程相关)

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

相关文章:

  • 2021-05-29
  • 2022-12-23
  • 2021-12-14
  • 2021-11-22
  • 2021-12-10
  • 2022-12-23
  • 2021-07-24
  • 2022-02-23
猜你喜欢
  • 2021-11-13
  • 2021-06-12
  • 2021-11-29
  • 2021-08-14
  • 2022-12-23
  • 2022-12-23
  • 2021-05-16
相关资源
相似解决方案