java while 里的两个函数能用多线程老提高运行速度吗? 15

Map<String,Integer>m=newHashMap<String,Integer>();try{FileReaderfile=newFileReader("E... Map<String, Integer> m = new HashMap<String, Integer>();

try{

FileReader file = new FileReader("E:/20150616-094841_hchb.wz.gr.csv");
BufferedReader br = new BufferedReader(file);
String s = "";
s = br.readLine();
Set<String> st = new LinkedHashSet<String>();
int count = 0;

while(( s = br.readLine())!=null){

boolean succeed = st.add(splitt(s));
if(succeed)
count++;

int freq = m.get(splitt2(s)) == null ?0:m.get(splitt2(s));
m.put(splitt2(s),freq==0 ? 1 : freq + 1);
}
展开
 我来答
江湖人称王嘉嘉
2015-07-31 · TA获得超过1400个赞
知道小有建树答主
回答量:1047
采纳率:83%
帮助的人:622万
展开全部
因为你的这个功能是读取单一文件并且没有什么复杂的逻辑处理,所以采用多线程帮助不大。
如果while里是读取多个文件或者对文件中读取出来的内容需要进行比较复杂的处理,那么采用多线程是有帮助的。
另外,对于多线程的数量也不是越多越好,根据你CPU的数量(包括多核)来计算。
就好比让你一个人忙活,再怎么分割任务,你也一样忙的死去活来啊。
砍出平成第一斧58
2015-07-31 · TA获得超过1567个赞
知道大有可为答主
回答量:2321
采纳率:86%
帮助的人:1211万
展开全部
能用啊,多线程就是并行,快速抢占Cpu。文件越大,越合适。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq4014
2015-07-31 · TA获得超过435个赞
知道小有建树答主
回答量:689
采纳率:60%
帮助的人:177万
展开全部
你可以用randomaccessfile将文件分给几个线程读取。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式