社区
C++ 语言
帖子详情
请教多线程和容器之间的问题
feanren
2015-10-14 10:25:51
cpu是服务器上24核的。
我开了20个线程读一个list里面的数据,大概有300万行,list里面放的是一个结构体。
不做写的操作,只是读和计算。
但是我看cpu的利用率并不高,只有10%左右。
我又写了个测试的代码,开20个线程,每个线程执行int a 加加的操作。
测试的代码,cpu疯长,达到90%。
我想问一下,线程读内存里的大量数据是不是有瓶颈,类似I/O的瓶颈一样。
如何提高cpu的使用率呢?
...全文
172
3
打赏
收藏
请教多线程和容器之间的问题
cpu是服务器上24核的。 我开了20个线程读一个list里面的数据,大概有300万行,list里面放的是一个结构体。 不做写的操作,只是读和计算。 但是我看cpu的利用率并不高,只有10%左右。 我又写了个测试的代码,开20个线程,每个线程执行int a 加加的操作。 测试的代码,cpu疯长,达到90%。 我想问一下,线程读内存里的大量数据是不是有瓶颈,类似I/O的瓶颈一样。 如何提高cpu的使用率呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ztenv
版主
2015-10-14
打赏
举报
回复
怀疑是线程的频繁切换导致了cpu使用率极速上升
赵4老师
2015-10-14
打赏
举报
回复
无profiler不要谈效率!!尤其在这个云计算、虚拟机、模拟器、CUDA、多核 、多级cache、指令流水线、多种存储介质、……满天飞的时代!
fefe82
2015-10-14
打赏
举报
回复
开 profiler 看一下吧。
你也需要确认一下你的 list 的实现(或者你的结构体的实现)里是不是有锁。
消费者和生产者
问题
的实现-基于线程安全的
容器
来和非线程安全的
容器
类
本文介绍了一种经典的生产者消费者模式实现方法,通过使用线程安全和非线程安全的
容器
来确保
多线程
环境中资源的正确共享。文章详细展示了如何利用Java的ReentrantLock和Condition来协调生产者和消费者
之间
的同步
问题
。
Spring
容器
中Bean的线程安全
问题
:深度解析与实战指南
本文深入探讨了Spring
容器
中Bean的线程安全
问题
,重点分析了单例Bean与
多线程
共享状态
之间
的冲突。文章指出,Spring本身不负责Bean的线程安全,而是由开发者根据业务需求进行设计和控制。通过对比不同作用域的线程安全性、区分有状态与无状态Bean,并提出四种实战解决方案,帮助开发者有效规避线程安全风险。
STL线程安全
问题
--effective stl
本文深入探讨了STL
容器
在
多线程
环境下的线程安全性
问题
,指出实现
之间
的差异,并提供了如何手工管理并行控制的策略。通过实例分析,强调了在
多线程
编程中正确使用锁的重要性,以及如何使用资源获得即初始化方法来确保代码的健壮性和线程安全性。
Java
容器
系列总结
本文详细介绍了Java集合框架,包括为什么要使用集合、Java
容器
概述、如何选择合适的集合,以及List、Set、Map三者
之间
的区别。讨论了ArrayList、LinkedList、HashSet、TreeSet等实现类的特性和选择依据,并深入探讨了HashMap、Hashtable、ConcurrentHashMap的实现与区别,以及
多线程
下的安全性
问题
。此外,还涵盖了集合遍历、排序、查找和替换操作等实用技巧。
生产者和消费者
问题
学习以及Java实现
本文介绍了一种经典的多进程同步
问题
——生产者-消费者
问题
的解决方案。通过使用信号量和
多线程
技术,实现了生产者与消费者
之间
的数据传递过程。代码示例包括生产者、消费者及共享
容器
的具体实现。
C++ 语言
65,211
社区成员
250,516
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章