关于多线程的得一点疑惑 对于这样的问题,在单cpu的机子上效率会高吗?比如,要从10个文件中读数据,并做一些处理。方法一:循环10次方法二:用两个线程 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 进行io的时候是不占用cpu的哦 Cpu运算的时间肯定要小于IO操作的时间从你的要求来看,整个系统的时间占用大体都都在从文件读数据上(排除对读取的数据做很复杂且费时的操作情况),这时候,你采用线程处理,在线程切换和I/O操作的切换中,反而会占用更多的时间,费力不讨好(具体情况,具体分析,这是一种可能)比如,你在读取A文件的时候,还没有结束,另一个线程运行,去读B文件,那么,磁盘就要重新寻导,找到文件位置,定位文件头部,等等操作,这样,运行结束后,再去运行前一个线程,又要重新寻导,来定位A文件,这就浪费了时间了当然,如果你把文件读取和处理分离成两个线程操作,一个负责IO,一个处理运算,性能还是有提高的,具体要看处理过程所占的比重 哎 你们 理解错了那个不是CPU运算不过来是大部分CPU都处于空闲时间 用多线程是为了CPU得到充分利用啊回去看看操作系统吧 学点这些对理解编程有帮助的拉小弟现在正在努力学习英文中 这个也是变成必须的拉 Kally_321() 这位仁兄好像很有见地,为何不更详细的说明出来和大家切磋切磋。操作系统我学得也不算差,你凭什么叫别人会去看书? 线程数量不宜开的太多,过多的话,会造成CPU不停的忙于切换时间片~~~可以用线程池来处理~~~以前试过开5个线程和开50个线程的处理速度一样,大家也可以试试~~~ darkula(流浪街头的呆子) 见识了谢谢 java如何生成应用程序 一个关于文件上传的问题 五分小题,速结!!!split()的反操作怎么做呀???在线 好难的问题,在线等待,问一个JAR包中包含一个XML文件,在程序中要读这个文件(只读),那么程序中的路径要怎么写 机器起不来了,救命啊!!!! 大家看看 各位谁有关于搜索引擎(robot)的资料啊?有人有兴趣研究一下么? 一个类可以实现多个接口 关于网站建设咨询 谁知道类“JPEGImageEncoder”在哪里能找到? 谁有《Tomcat权威指南中文版》啊 请教一个简单的问题!!谢谢
从你的要求来看,整个系统的时间占用大体都都在从文件读数据上(排除对读取的
数据做很复杂且费时的操作情况),这时候,你采用线程处理,在线程切换和I/O操作的切换中,
反而会占用更多的时间,费力不讨好(具体情况,具体分析,这是一种可能)比如,你在读取A文件的时候,还没有结束,另一个线程运行,去读B文件,那么,磁盘就要
重新寻导,找到文件位置,定位文件头部,等等操作,这样,运行结束后,再去运行前一个
线程,又要重新寻导,来定位A文件,这就浪费了时间了当然,如果你把文件读取和处理分离成两个线程操作,一个负责IO,一个处理运算
,性能还是有提高的,具体要看处理过程所占的比重
那个不是CPU运算不过来
是大部分CPU都处于空闲时间 用多线程是为了CPU得到充分利用啊
回去看看操作系统吧 学点这些对理解编程有帮助的拉
小弟现在正在努力学习英文中 这个也是变成必须的拉
这位仁兄好像很有见地,为何不更详细的说明出来和大家切磋切磋。
操作系统我学得也不算差,你凭什么叫别人会去看书?
可以用线程池来处理~~~
以前试过开5个线程和开50个线程的处理速度一样,大家也可以试试~~~
见识了
谢谢