专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java相关

问个java多线程的有关问题

发布时间:2010-06-05 14:18:22 文章来源:www.iduyao.cn 采编人员:星星草
问个java多线程的问题
大家好,我现在有个非常简单的程序,但是有一些疑问想请大家帮忙解释一下,非常感谢!
我的问题是:现在我有256个独立的输入文件,我要分别读取每个输入文件,然后将其内容拷贝输出到相应的输出文件(所以总共有256个输出文件)。当用单线程串行的做这个工作时,需要244秒,现在我把它改成了4个线程同时去做这个工作,时间要592秒,用8个线程同时去做,时间要980秒,我知道这种IO work是没法用多线程提高效率的,因为只有一个磁头,但是我想请教下大家是什么原因导致线程数目越多时间越久呢?是线程切换开销吗?有没有其他原因,谢谢!这256个文件都是不相关的。

------解决方案--------------------
多线,应该只在多CPU环境下,或者出现资源等待(典型的就是IO等待)的情况下才会出现性能提升吧,否则线程上下文的切换只会消耗增加其执行时间
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: