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[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); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值