In attesa di più thread da completare in Java

Durante l’esecuzione del mio programma, viene avviato un numero di thread. La quantità di thread varia a seconda delle impostazioni definite dall’utente, ma tutti eseguono lo stesso metodo con variabili diverse.

In alcune situazioni, è necessaria una pulizia a metà dell’esecuzione, parte di ciò è l’interruzione di tutti i thread, non voglio che si fermino immediatamente, ma ho appena impostato una variabile che controllano la loro terminazione. Il problema è che può passare fino a 1/2 secondo prima che il filo si fermi. Tuttavia, devo essere sicuro che tutti i thread si siano fermati prima che la pulizia possa continuare. La pulizia viene eseguita da un altro thread, quindi tecnicamente ho bisogno di questo thread per attendere il completamento degli altri thread.

Ho pensato a diversi modi per farlo, ma sembrano tutti eccessivamente complessi. Speravo che ci fosse qualche metodo in grado di attendere il completamento di un gruppo di thread. Esiste qualcosa come questo?

Grazie.