java开启多个线程,执行完成后再执行主线程

博主昨天去一家公司面试,被面试官问到一个问题,如果开启10个线程,但是需要这10个线程都执行完成后,再交由主线程统一输入,如何实现?当时我没有回答,我对多线程并不是那么的熟悉,面试结束后,我通过查阅资料找到了解决方案,下面我贴出代码:

    int count = 10;
        List<Thread> workers = new ArrayList<>();
        for(int i = 0; i < count; i++) {
            Thread worker = new Thread(new Runnable() {
                @Override
                public void run() {
                    System.out.println("执行子线程");
                }
            });
            worker.start();
            workers.add(worker);
        }
        for(int i = 0; i < count; i++) {
            workers.get(i).join();
        }
        System.out.println("执行主线程");

所有线程start之后,通过join方法等待线程执行完成,当所有线程执行完成后再执行后面的主线程方法。

    原文作者:lynnlovemin
    原文地址: https://blog.csdn.net/lynnlovemin/article/details/75604209
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞