Java进程管理
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;static int n;public static long solve1(){long d1=System.nanoTime();sum11=0;for(int i=1;i<=n;i++)sum11+=a;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=(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;}if(ID==2){System.out.println(2);for(i=n/2+1;i<=n;i++)sum2+=a;}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 stubread();long t1=solve1();System.out.println(sum11 +" "+"非线程时间:"+t1);long t2=solve2();//System.out.println(sum1+" "+sum2);System.out.println(sum+" "+"线程时间:"+t2);}}
页:
[1]