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("执行主线程");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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

猜你喜欢

转载自blog.csdn.net/myicer/article/details/80064422