主线程等待子线程执行完毕后再执行
来源:互联网 发布:淘宝网比价 编辑:程序博客网 时间:2024/05/17 08:00
-
- public class MainThread {
-
- public static void main(String[] args) throws InterruptedException {
- longstartTime = System.currentTimeMillis();
- intthreadNum = 5;
-
- CountDownLatch runningThreadNum = new CountDownLatch(threadNum);
- System.out.println(Thread.currentThread().getName()+"-start");
-
- for(inti = 0; i < threadNum; i++) {
- new SubThread(runningThreadNum).start();
- }
-
- runningThreadNum.await();
- System.out.println(Thread.currentThread().getName()+"-end");
- longendTime = System.currentTimeMillis();
- System.out.println("runningTime:"+(endTime-startTime));
- }
- }
-
- public class SubThread extends Thread{
-
-
- private CountDownLatch runningThreadNum;
-
- public SubThread(CountDownLatch runningThreadNum){
- this.runningThreadNum = runningThreadNum;
- }
-
- @Override
- public void run() {
- System.out.println(Thread.currentThread().getName()+"-start");
- System.out.println(Thread.currentThread().getName()+"-do something");
- System.out.println(Thread.currentThread().getName()+"-end");
- runningThreadNum.countDown();
- }
- }