Java: How to make this main thread wait for the new thread to terminate

后端 未结 3 2022
挽巷
挽巷 2021-02-10 21:37

I have a java class that creates a process, called child, using ProcessBuilder. The child process generates a lot of output that I am draining on a separate thread to keep the

3条回答
  •  面向向阳花
    2021-02-10 22:25

    You can join on that thread. You would get the instance of the thread and when needed to wait invoke its join method.

     Thread th = new Thread(new Runnable() {  ... } );
     th.start();
     //do work 
     //when need to wait for it to finish
     th.join();
     //th has now finished
    

    Others will suggest a CountdownLatch, CyclicBarrier or even a Future but I find this to be easiest to implement on a very low level.

提交回复
热议问题