import java.sql.Date; public class c extends Thread{ private int ID; static int sum11; static int sum1; static int sum2; static int sum; public boolean m_done; /** * @param args */ static int [] a=new int[10005]; static int n; public static long solve1() { long d1=System.nanoTime(); sum11=0; for(int i=1;i<=n;i++) sum11+=a[i]; long d2=System.nanoTime(); return d2-d1; } public static void read() { n=(int) (Math.abs((10+Math.random()*1000))%10000); for(int i=1;i<=n;i++) a[i]=(int) Math.abs((0+Math.random()*1000)); } public c(int i) { ID=i; } public void run() { m_done=false; int i; if(ID==1) { System.out.println(1); for(i=1;i<=n/2;i++) sum1+=a[i]; } if(ID==2) { System.out.println(2); for(i=n/2+1;i<=n;i++) sum2+=a[i]; } m_done=true; } public static long solve2() { long d1=System.nanoTime(); sum1=0;sum2=0;sum=0; c t1=new c(1); c t2=new c(2); t1.m_done=false; t2.m_done=false; t1.start(); t2.start(); while(!t1.m_done||!t2.m_done) ;//等待进程结束 sum=sum1+sum2; long d2=System.nanoTime(); return d2-d1; } public static void main(String[] args) { // TODO Auto-generated method stub read(); long t1=solve1(); System.out.println(sum11 +" "+"非线程时间:"+t1); long t2=solve2(); // System.out.println(sum1+" "+sum2); System.out.println(sum+" "+"线程时间:"+t2); } }