import java.io.*;
public class ThreadsSum6{
public static void main(String[] args) throws IOException {
String str;
long sum1=0;
long start = System.currentTimeMillis();
FileReader fr=new FileReader("arrays-1.txt");
//建立文件输入流
BufferedReader br=new BufferedReader(fr);
//建立缓冲输入流
while ((str=br.readLine())!=null) {
sum1+=Integer.parseInt(str);
}
fr=new FileReader("arrays-2.txt");
br=new BufferedReader(fr);
while ((str=br.readLine())!=null) {
sum1+=Integer.parseInt(str);
}
fr.close();
long end = System.currentTimeMillis();
System.out.println("sum1="+sum1);
System.out.println("time1="+(end - start));
start = System.currentTimeMillis();
ReadFileThread th1=new ReadFileThread("arrays-1.txt");
ReadFileThread th2=new ReadFileThread("arrays-2.txt");
th1.start();
th2.start();
try{//等待线程结束
th1.join();
th2.join();
}catch(Exception e){}
long sum2=th1.getSum()+th2.getSum();
end = System.currentTimeMillis();
System.out.println("sum2="+sum2);
System.out.println("time2="+(end - start));
}
}
class ReadFileThread extends Thread{
long sum=0;
FileReader fr;
BufferedReader br;
String str;
public ReadFileThread(String fileName){
try{
fr=new FileReader(fileName);
//建立文件输入流
br=new BufferedReader(fr);
//建立缓冲输入流
}
catch(Exception e){System.out.println("error1");}
}
public void run(){
try{
while((str=br.readLine())!=null) {
sum+=Integer.parseInt(str);
}
fr.close();
}
catch(Exception e){System.out.println("error2");}
}
long getSum(){
return sum;
}
}