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

来源:互联网 发布:江西财经大学网络 编辑:程序博客网 时间:2024/06/07 12:58

博主昨天去一家公司面试,被面试官问到一个问题,如果开启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方法等待线程执行完成,当所有线程执行完成后再执行后面的主线程方法。

阅读全文
1 0