关于多线程io能否提高程序效率
2015-08-07 09:45
232 查看
项目中,需要对30个文件进行读取并处理数据。
想到能不能通过多线程,每个线程处理一部分文件来提高程序效率,实测发现效率反而下降了。
通过查阅资料,发现单个硬盘只能响应一个io,cpu是多核单硬盘不是。
多线程切换时,硬盘去不同的地方读东西会增加耗时。
解决方法:
1、多个硬盘存取
2、换用固态硬盘提升硬盘本身的性能
3、将文件都读到内存,然后多线程处理数据
想到能不能通过多线程,每个线程处理一部分文件来提高程序效率,实测发现效率反而下降了。
通过查阅资料,发现单个硬盘只能响应一个io,cpu是多核单硬盘不是。
多线程切换时,硬盘去不同的地方读东西会增加耗时。
解决方法:
1、多个硬盘存取
2、换用固态硬盘提升硬盘本身的性能
3、将文件都读到内存,然后多线程处理数据
相关文章推荐
- CSS中的四种选择器
- JAVA实现全角半角相互转化 (full2Half & half2Full)
- 南邮 OJ 1880 A. 偷吃可耻
- C++ Hello World
- Cypress固件架构彻底解析及USB枚举
- 延迟加载图片的 jQuery 插件:Lazy Load
- 架构师速成6.15-开发框架-单点登录
- HighCharts画时间趋势图,标示区以及点击事件操作
- 盒子模型案例一
- 【Go】Linux下使用Sublime Text搭建开发环境
- 盒子模型案例二
- 游戏开发如何成功
- 盒子模型案例-优酷
- Leetcode_234_Palindrome Linked List
- 29 Best Educational Websites to Learn Programming
- PL/SQL Developer配置数据库连接
- 小思绪
- restorecon
- for_each()的用法
- Best Time to Buy and Sell Stock