要处理一个很大的数组(约有3千万个元素), 结果是返回一个大约4千万个元素的vector, 所以决定用多线程, 每个线程处理一段,为了提高效率, 没有使用锁, 而是将每个线程的结果存在一个零时vector里, 等全部线程完成后, 在把这几个临时的vector合并成一个大的vector, 即最终结果。
对比了 单线程, 2线程, 4线程和8线程, 感觉还是单线程最快, 为什么呀, 想不明白? 注: 所有的操作都是在内存中完成, 没有IO的操作。
收起
1 根据cpu核个数来创建对应的线程2 最后vector合并很耗时的,感觉时间消耗在这了
报告相同问题?