需求:一个方法(主线程)开启了N个子线程,每个子线程去执行各自的任务,且执行的时间不一样,现在主线程需要将所有子线程执行完后的结果进行处理,并返回。
那如果判断所有的子线程都执行完了呢?
目前我的做法是:
TestThread t2= new TestThread();
TestThread t3= new TestThread();
TestThread t1= new TestThread();
System.out.println("start...");
t1.start();
t2.start();
t3.start();
try{
t1.join();
t2.join();
t3.join();
//此处得到t1,t2,t3,的执行结果,
//返回处理后的最终结果。
}catch(Exception e){
}
System.out.println("end!!!");
现在,我是不知道这样处理性能上好不好, 因为调用这个是很需要性能好, 希望时间上最短好越好,因为可能调用的比较频繁,调用者需要将结果返回页面的。
求大家给一个好的解决方法或是思路。
谢谢!!!